正则表达式的深入理解
生活随笔
收集整理的這篇文章主要介紹了
正则表达式的深入理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Q1、字符串與正則表達式字符串的區別?
從計算機的執行角度來看:首先是自己定義的字符串被string類讀取解析放到內存中,可以通過print(str)查看;然后傳遞給re類進行讀取和解析。從機制上來看就會讓他們有所區別;
這里的案例主要分兩種情況需要注意:
第一種:字符串和re相同的通配符含義;比如說\n \r \t
比如傳遞一個換行符給re類;那么就需要在字符串中輸入\\n,那么這樣string類解析得到的是一個\n字符串,這個傳遞給re類就會當作正確解析。
ss = "\\n";或者 ss = r“\n";這樣re類讀取到的就是\n的通配符。
第二種:字符串和re不相同的通配符含義;比如說re中的”? ?[? ? “符號
在這種情況下,對字符串而言就不需要考慮轉義符的問題;比如說加"r"或者加個斜杠”\“;
如果說僅僅匹配”\“字符串,而不是通配符;那么在字符串中可以直接輸入
ss = "\[";字符串處理后輸出和輸入是一樣的;re類會將"\["當作一個正常的字符而非通配符"["
?
print(len(re.findall(r'"\[', web_json))) print(len(re.findall('"\[', web_json))) print(re.findall(r'"\[', web_json)) print(re.findall('"\[', web_json)) for i in re.finditer(r'"\[', web_json):print(web_json[i.span()[0]-10:i.span()[1]+10])3 3 ['"[', '"[', '"['] ['"[', '"[', '"['] "x_input":"[{"name": " y_output":"[{"name": " "options":"[{"type": "?
?
?
?
?
總結
以上是生活随笔為你收集整理的正则表达式的深入理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注意力机制在softmax时需要除以一个
- 下一篇: grep与sed批量处理多个文件中的字符