如何使用正则表达式查找单词而不管位置

时间:2016-04-26 01:42:06

标签: regex

有没有办法找到一个单词而不管位置?

例如,假设我有以下3个句子:

  1. 我喜欢Pie
  2. Pie爱我。
  3. 我今天爱Pie。
  4. 我想写一个正则表达式来找到适用于所有3种情况的单词Pie。你们会建议吗?

    这就是我的尝试:

    1. Pie(仅在Pie位于开头且没有其他任何内容的情况下才有效)
    2. (Pie)*与第1部分相同。
    3. .....(Pie) - 只有在“Pie”字样之前恰好有5个字符时才有效。这对我没什么帮助,因为可能有任意数量的角色。
    4. 关于最终解决方案的编辑:我最终使用了.*Pie.*,我只是想解释一下这对其他不熟悉编码/正则表达式的人有什么影响。

      这就是说任何字符出现零次或多次并在单词Pie之前,然后是另一个出现零次或多次的单个字符。这让我可以在任何句子中的任何地方找到“Pie”。

1 个答案:

答案 0 :(得分:2)

鉴于您的更新问题,我不确定您正在使用哪种工具进行正则表达式匹配。如果该行的任何部分匹配,大多数工具(例如grep)将匹配它。

但是,如果您的工具出于某种原因从头开始,您可以使用。*模式匹配任何地方。是任何字符,*是任何次数(例如。* Pie)。

对于后人:http://rubular.com/是测试Regexes的好地方,我发现它非常实用。