正規表示式匹配任意字元(包括換行符)的寫法

2021-07-15 01:56:23 字數 1026 閱讀 8465

[\s\d]*    匹配換行和空格

今天想使用正規表示式來獲取一段文字中的任意字元。

於是很隨意得就寫出如下匹配規則: (.*) 結果執行之後才發現,無法獲得換行之後的文字。

於是查了一下手冊,才發現正規表示式中,「.」(點符號)匹配的是除了換行符「\n」以外的所有字元。同時,手冊上還有一句話:要匹配包括 '\n' 在內的任何字元,請使用像 '[.\n]' 的模式。

於是我將正規表示式的匹配規則修改如下: ([.\n]*),當然,如果是在c#程式中直接寫到話,需要改為([.\\n]*) 結果再次執行程式,發現什麼內容也取不到了。

我百思不得其解,又將其修改為如下規則: ([.|\n]*) 以及 (\n.]*) 結果還是不行,什麼內容都取不到。看來點符號和換行符卯上勁了~ 然後上網一查,雖然沒有查出上述規則到底是什麼地方出問題了,但是查出了乙個解決辦法,經過一試,果然可以匹配包括換行符在內的任意字元,以下為正確的正規表示式匹配規則: ([\s\s]*) 同時,也可以用 「([\d\d]*)」、「([\w\w]*)」 來表示。

([\s\s]*?)  加上問號 表示最短匹配

小時候發生最離奇的一場車禍,我坐同學自行車,他帶著我和對面騎自行車撞在了一起,我倒地下了,他卻坐在了對面自行車的龍頭上,還摟著人家的脖子

#coding=utf8

'''created on 2023年7月16日

@author: root

'''import re

f=open('e:\\qiushibaike\\03\\page_1.html','r')

html=f.read()

p1=re.compile("")

m1=re.findall(p1,html)

p2=re.compile('[\s\s]*?

')m2=re.findall(p2,html)

if m1:

for i in m1:

print i

if m2:

for i in m2:

print i

正規表示式匹配任意字元(能換行匹配)的寫法

想使用正規表示式來獲取一段文字中的任意字元。於是很隨意得就寫出如下匹配規則 結果執行之後才發現,無法獲得換行之後的文字。查了一下手冊,發現正規表示式中,點符號 匹配的是除了換行符 n以外的所有字元。同時,手冊上還有一句話 要匹配包括 n 在內的任何字元,請使用像 n 的模式。於是將正規表示式的匹配規...

正規表示式匹配任意字串

匹配所有字串 9033 如使用9033 會得到num 但是如果帶換行符會失效,如果需要匹配包括換行符,則使用 s s 最開始以為.可以匹配任意字元,後來發現有問題,匹配不了換行符 n 查了下資料,用 s s 匹配可以 解釋 s空白符,s非空白符,所以 s s 是任意字元 使用正規表示式進行替換 回車...

常用正規表示式(包括中文匹配)

常用正規表示式 包括中文匹配 2007 10 24 10 21常用正規表示式 正規表示式用於字串處理 表單驗證等場合,實用高效。現將一些常用的表示式收集於此,以備不時之需。匹配中文字元的正規表示式 u4e00 u9fa5 匹配雙位元組字元 包括漢字在內 x00 xff 應用 計算字串的長度 乙個雙位...