正则表达式 - 如何查找以特定单词开头和结尾的单词

时间:2018-02-15 16:10:11

标签: regex

https://regex101.com/r/rnr6SC/2

我正在写一个正则表达式来查找任何以&开头的单词实例结束;同一行,不同行或其他可能有多个副本。我只是想找到任何看起来像

的东西

&

&dog;

&cat; and &dog;

或类似的。我想我的检查;在我的例子中太贪心了。如何在不选择任何其他内容的情况下修复我的正则表达式以找到我需要的特定单词?

2 个答案:

答案 0 :(得分:1)

这个正则表达式适合你:

(?<=&)[^;&]+(?=;)

RegEx Demo

  • (?<=&):断言以前的位置有&
  • [^;&]+:匹配非;而非&的1+字符
  • (?=;):预见下一个位置有;

外观只是确保匹配的文字被&;包围,如果您希望这些标记也是匹配的一部分,则删除外观并使用:

&[^;&]+;

答案 1 :(得分:0)

您可以删除前瞻(?=并使.*非贪婪.*?

&.*?;

那将匹配:

  • &符号&
  • .*?任何字符零次或多次非贪婪
  • 分号;