我需要一些帮助。我希望得到比赛:
但是,我似乎将所有单词都包含在中间,而不是提取它们。
[\W]My Section[\W].*?\b(Paragraph[\s])\b
字符串:
“My Section” has the meaning specified in Paragraph 3(a) of this Annex.
答案 0 :(得分:2)
答案 1 :(得分:1)
您的正则表达式将段落之前的部分与[\W]My Section[\W].*?\b
匹配,然后在Paragraph
组中捕获,后跟一个空格,而3(a)
尚未捕获。
如果第一个文本始终是文本My Section
,并且此格式Paragraph 3(a)
始终相同,则可以使用2个捕获组更新正则表达式:
\W(My Section)\W.*?\b(Paragraph\s\d+\([^)]+\))
说明
\W
匹配非文字字符(My Section)
在第1组中捕获我的部分\W.*?\b
匹配一个非单词字符,然后匹配零个或更多次非贪心字符和一个单词边界的任何字符(
捕获组2
\s\d+
匹配一个空格字符,后跟一个或多个数字\([^)]+\)
首先匹配(
,然后使用否定的character class不匹配(
,然后匹配)
)
关闭捕获组除了在开始时不使用\W
,还可以使用“
和”
答案 2 :(得分:0)
正则表达式取决于您使用的语言,如果我正确回答您的问题,则您的正则表达式应如下所示
.*(My Section).*?(Paragraph\s?.*?)\s.*
组将是: 1.全文 2.我的部分 2.第3(a)段