iT邦幫忙

0

python 正規則符號

  • 分享至 

  • xImage

您好:參考
https://www.runoob.com/python3/python3-reg-expressions.html

請問

print( re.split('\W+', 'runoob, runoob, runoob.',0) )
print( re.split('\W', 'runoob, runoob, runoob.',0) )

print( re.split('r\W+', 'runoob, runoob, runoob.',0) )
print( re.split('(\W+)', ' runoob, runoob, runoob.')   )

有「+] ,有「()」, 有「r」
這有何差異?

另外

line = "Cats are smarter than dogs"
 
searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I)

可稍微看出 他是 一個字母 are 一個字母
但該如何解析, 他正規的的語法?
謝謝

r 是 raw string 的意思,可以避免 \ (反斜線) 被轉譯為跳脫字元。

() 群組
+ 匹配 1~n 個
* 匹配 0~n 個
. 匹配任一字元
? 最短距離

(.*) 群組一為,匹配任一字元直到後面是 " are " 的最長距離
(.*?) 群組二為,匹配任一字元直到後面是空白字元的最短距離

試一下就清楚了
https://regex101.com/
noway iT邦研究生 3 級 ‧ 2022-07-25 20:54:22 檢舉
謝謝!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答