【发布时间】:2015-03-04 22:20:58
【问题描述】:
有没有一种方法可以编写正则表达式,在其中进行一次匹配,然后对上一次匹配的结果进行另一次匹配,依此类推?就像命令行中的管道。
例如,假设我想查找以“a”开头并以“z”结尾的字符串。我可以先使用“^a”,然后在上一场比赛的结果上使用“z$”。有没有办法在一个正则表达式中做到这一点?
【问题讨论】:
有没有一种方法可以编写正则表达式,在其中进行一次匹配,然后对上一次匹配的结果进行另一次匹配,依此类推?就像命令行中的管道。
例如,假设我想查找以“a”开头并以“z”结尾的字符串。我可以先使用“^a”,然后在上一场比赛的结果上使用“z$”。有没有办法在一个正则表达式中做到这一点?
【问题讨论】:
不要使用 ^ 或 $,除非您一次评估一个单词,并在结尾处剪掉空格。
要查找文本中以“a”开头并以“z”结尾的所有单词(并且只包含字母和连字符),请使用以下内容:
\ba[\w-]*z\b
句子中的哪一个:
“房间里到处都是讨论如何使用 adz 的人。”
...将匹配“abuzz”和“adz”。
【讨论】: