我需要一些帮助来编写一个正则表达式,它将匹配包含一个?在某个地方...单词可以在同一行,理想情况下我会得到这些单词的完整列表,这样我就可以计算实例。
样品
test
test??test
test?test word ss?dd ?dddd
term_exists?? term_exists??
test
test?test
aaa? aaaa???
我应该看到如下列表
test??test
test?test
ss?dd
?dddd
term_exists??
term_exists??
test?test
aaa?
aaaa???
基本上所有单词都有?在他们中。
任何帮助都会很棒。几个小时以来一直在敲打我的脑袋。
答案 0 :(得分:0)
尝试一下:
.*?([a-z_]*\?+[a-z_]*).*?
替换为\1
(或$1
,具体取决于您使用的语言。)
行动中:https://regex101.com/r/Kr776J/1
为获得最佳效果,请尽可能启用“单线”模式(将(?s)
添加到模式或使用语言选项打开标记。)
答案 1 :(得分:0)
根据您的输入字符串,这将准确匹配您所需的所有子字符串:
\w*\?[^\s]*
或更多字面意思:[a-z_]*\?[^\s]*
或大多数字面意思:[a-z_]*\?[a-z?]*
Demo Link(所有仅90步)
CAustin的步骤为159步。