正则表达式匹配单词序列

时间:2017-09-25 20:39:47

标签: regex pcre

假设我们有一个这样的段落:

  

Lorem ipsum,坐在旁边的精神上。 Lorem - ipsum,坐   阿梅德。 Morbi a suscipit sem,quis finibus turpis。 Lorem ipsum:坐下   阿梅德。 Proin suscipit ac arcu pharetra tincidunt。 Lorem ipsum。坐   阿梅德。 Pellentesque eu lacinia metus。坐下来:Lorem ipsum。 LOREM   turpis ipsum,坐下来。

我需要一个正则表达式pcre模式不区分大小写,只选择单词

  (IF(operation = '+', a+b, IF( operation = '-', a-b, IF(operation = '*', a*b, IF(operation = '/',a/b, '')))) 

以该特定顺序忽略标点和出现,如

1 lorem
2 ipsum
3 sit
4 amet 

1 个答案:

答案 0 :(得分:0)

简单直接使用某些标点字符。您可以在[]:

中附加任何标点字符
([Ll]orem)[\s,.!:\-()?]+(ipsum)[\s,.!:\-()?]+(sit)[\s,.!:\-()?]+(amet)

或所有的空白而不是[A-Za-z0-9]

([Ll]orem)[\s\W]+(ipsum)[\s\W]+(sit)[\s\W]+(amet)

区分大小写可以根据编程语言进行切换。或者您必须手动添加所有相关变体,如([L | l] orem)

Regex101 Example