52
A
回答
131
如果您的問題真的如此簡單,你不需要正則表達式:
s[s.find("(")+1:s.find(")")]
28
使用re.search(r'\((.*?)\)',s).group(1)
:
>>> import re
>>> s = u'abcde(date=\'2/xc2/xb2\',time=\'/case/test.png\')'
>>> re.search(r'\((.*?)\)',s).group(1)
u"date='2/xc2/xb2',time='/case/test.png'"
2
import re
fancy = u'abcde(date=\'2/xc2/xb2\',time=\'/case/test.png\')'
print re.compile("\((.*)\)").search(fancy).group(1)
19
如果你想找到所有出現:
>>> re.findall('\(.*?\)',s)
[u"(date='2/xc2/xb2',time='/case/test.png')", u'(eee)']
>>> re.findall('\((.*?)\)',s)
[u"date='2/xc2/xb2',time='/case/test.png'", u'eee']
6
建立在tkerwin's答案,如果你碰巧有嵌套的括號像
st = "sum((a+b)/(c+d))"
,如果你需要採取的第一左括號和最後右括號之間的一切讓(a+b)/(c+d)
他的回答是行不通的,因爲從字符串的左側查找搜索,並停止在第一個右括號處。
爲了解決這個問題,你需要使用rfind
爲操作的第二部分,所以它會成爲
st[st.find("(")+1:st.rfind(")")]
相關問題
- 1. 正則表達式之間返回文本()圓括號
- 2. 從括號內返回文本的正則表達式模式
- 3. 正則表達式在大括號之間獲取文本
- 4. 忽略正則表達式中的括號之間的文本
- 5. 使用正則表達式刪除括號之間的文本
- 6. 正則表達式在括號之間提取文本與星號配對
- 7. 正則表達式來pickout括號之間的一些文字
- 8. PHP:正則表達式替換括號之間的部分文本(逗號)
- 9. 正則表達式查找字符串,並返回大括號之間一切
- 10. 括號正則表達式
- 11. 正則表達式 - 括號
- 12. 正則表達式括號
- 13. 正則表達式在雙括號內逗號前的文本
- 14. 正則表達式返回方括號內的字符(但不包括括號)
- 15. Javascript正則表達式 - 如何在大括號之間獲取文本
- 16. C#正則表達式返回文本
- 17. 用正則表達式在圓括號之間尋找字符
- 18. 正則表達式在大括號之間得到字符串
- 19. javascript正則表達式返回null,試圖在圓括號之間獲取文本
- 20. JavaScript的正則表達式替換括號之間的空格
- 21. Ruby正則表達式:在引號之間提取文本
- 22. 使用正則表達式在引號之間獲取文本
- 23. 正則表達式與Javascript獲取兩個方括號之間的文本
- 24. 正則表達式選擇括號之間和「:」後的所有文本
- 25. 正則表達式用於匹配括號之間的內容
- 26. 正則表達式獲取括號之間的字符串
- 27. 正則表達式除去括號之間的所有空格
- 28. 正則表達式,括號之間的捕獲,javascript
- 29. 括號與正則表達式之間的字符串
- 30. PHP - 正則表達式刪除括號之間的字符串
支架?我沒有看到任何括號。你的意思是括號嗎? – kzh 2011-02-04 02:59:08
爲什麼不使用雙引號?它會使字符串更容易閱讀,即'u'abcde(date ='2/xc2/xb2',time ='/ case/test.png')'` – kzh 2011-02-04 03:01:41