鍍金池/ 問(wèn)答/Python/ python 正則問(wèn)題

python 正則問(wèn)題

>>> s="周點(diǎn)評(píng)丨鈴木退出中國(guó),寧德時(shí)代成創(chuàng)業(yè)板第一大股"
>>> c=re.findall("(.*)|.*",s)[0]
>>> c
'周點(diǎn)評(píng)丨鈴木退出中國(guó),寧德時(shí)代成創(chuàng)業(yè)板第一大股'
>>> c=re.findall("(.*?)|.*",s)[0]
>>> c
''
>>> c=re.findall("(.*)|.*",s)[0]
>>> c
'周點(diǎn)評(píng)丨鈴木退出中國(guó),寧德時(shí)代成創(chuàng)業(yè)板第一大股'
>>> c=re.findall("(.*)\|.*",s)[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> c=re.findall("(.*)|.*",s)[0]
>>> c
'周點(diǎn)評(píng)丨鈴木退出中國(guó),寧德時(shí)代成創(chuàng)業(yè)板第一大股'
>>> 

為啥總是匹配不到“|” 前的數(shù)文字呢

回答
編輯回答
墨小羽

匹配'|'本身也要轉(zhuǎn)義,因?yàn)樵谡齽t里它是“或”的意思。另外匹配一個(gè)或多個(gè)可見(jiàn)字符用.+。單個(gè).只能匹配一個(gè)字符。

2018年8月19日 12:46