如何使用正则表达式忽略句子中的字符串?

时间:2014-12-22 08:55:45

标签: regex nsregularexpression

我有很多问题,以这种形式:

Q. 1. If you are given a dry piece of land for cultivation what will you do before
sowing the seeds?
Q. 2. During which months do farmers grow mustard in India?

我想从这些问题中忽略(问题1,问题2 ......等等)。我正在使用这个正则表达式:

`/(Q..+[^(A)]+)/`

但这个正则表达式选择了句子中的所有单词 我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

您可以使用此前瞻和后方的正则表达式

/(?<=Q\. \d+\.).*?(?=(Q\. \d+\.|$))/gs

它只会匹配没有任何组的问题。

DEMO注意:如果您没有s标记支持,则可以将.*?替换为[\s\S]*?

如果由于各种口味及其抽屉使用正则表达式有任何困难,您可以使用已在答案的pne中建议的正则表达式Q\.\s+\d+\.\s*(.*)并使用组1。

答案 1 :(得分:0)

Q\.\s+\d+\.\s*(.*)

试试这个。抓住捕获。参见演示。

https://regex101.com/r/vN3sH3/57

答案 2 :(得分:0)

`/Q\. [0-9]+\. (.+)/g`

将匹配问题并忽略编号。