我有一个aaaaaaaO.zzzzzzzz.OaaaaO.gggggggg.Oaaaaaaaa
的字符串
我如何通过正则表达式获取O.
和.O
的最后两个单词之间的字符串
我想要的是gggggggg
。
谢谢
答案 0 :(得分:1)
您可以匹配O.
和.O
之间的内容,并使用负前瞻断言在行尾之前不再有O
了:
O\.(\w+)\.O(?!.*O\.)
O\.(\w+)\.O(?!.*O\.)
O\. # match "O."
(\w+) # match and capture word characters
\.O # match ".O"
(?! ) # negative lookahead:
.*O\. # There is no "O." anymore
答案 1 :(得分:0)
或this。 .*[O][.](?<getthis>.*)[.][O].*
为您提供一个命名的捕获组。 括号()中的位是名为“ getthis”的组。
答案 2 :(得分:0)
您可以使用这些简单的模式在((双括号))中查找值。 我使用转义确保点号不算作任何字符,而是按字面意思。
(O\.)[a-z]+(\.O)
aaaaaaa((O.zzzzzzzz.O))aaaa((O.gggggggg.O))aaaaaaaa
或者您可以在方括号内指定要搜索的字符。加号(+)确保可以找到至少一个或更多字符。
(O\.)[g]+(\.O)
aaaaaaaO.zzzzzzzz.Oaaaa((O.gggggggg.))Oaaaaaaaa
如果您需要一个特定的单词,请尝试以下操作:
(O\.)(hello)(\.O)
aaaaaaaO.zzzzzzzz.Oaaaa((O.hello.O))aaaaaaaa
希望有帮助!