2024-06-02 07:30:02 发布
网友
如何使用regex提取括号内的文本? 例如,如果我有
string='这是一个测试代码[asdf-wer-a2 asdf](ascd asdfas-were)'
我希望输出是
[asdf-wer-a2-asdf],(ascd asdfas-were)
我到处找这个,一直没能解决这个问题。 如果有人能帮我那就太好了
谢谢
http://ideone.com/DmpYH1
这可能不是最好的解决方案,但非常简洁。指定在分隔符之间查找文本。我提供开始[和结束],然后最后(和)给卷曲的。你知道吗
[
]
(
)
s = 'This is a test code [asdf -wer -a2 asdf] (ascd asdfas -were)' print (s[s.find("[")+1:s.find("]")]) print (s[s.find("(")+1:s.find(")")])
编辑:如果需要[]和(),只需执行以下操作:
print (s[s.find("["):s.find("]")+1]) print (s[s.find("("):s.find(")")+1])
退货:
[asdf-wer-a2 asdf] (ascd asdfas-曾经)
您可以使用下面的正则表达式模式。Here就是一个例子
\[[^\)]*\]|\([^)]*\)
st = 'This is a test code [asdf -wer -a2 asdf] (ascd asdfas -were)' import re mo = re.search(r'(\[.+\])\s*(\(.+\))',st) print(mo.groups(2)[0],mo.groups(2)[1]) [asdf -wer -a2 asdf] (ascd asdfas -were)
这可能不是最好的解决方案,但非常简洁。指定在分隔符之间查找文本。我提供开始
[
和结束]
,然后最后(
和)
给卷曲的。你知道吗编辑:如果需要[]和(),只需执行以下操作:
退货:
[asdf-wer-a2 asdf] (ascd asdfas-曾经)
您可以使用下面的正则表达式模式。Here就是一个例子
\[[^\)]*\]|\([^)]*\)
相关问题 更多 >
编程相关推荐