用正則匹配多行文字

2021-09-08 16:52:02 字數 888 閱讀 8944

如果有這樣乙個字串

$var = "src = arr.c build.c eval.c field.c \

missing.c msg.c re.c version.c"

用一般的^\w+\s*=\s*.*$只能匹配上面的那句,而下面的那一句就無法匹配了

方法一:使用的是perl

$var = "src = arr.c build.c eval.c field.c \

missing.c msg.c re.c version.c";

$var =~ m/((^\w+\s*=\s*.*)(\n.*))/;

print "$1: ".$1."\n";

print "$2: ".$2."\n";

print "$3: ".$3."\n";

結果為:

1: src = arr.c build.c eval.c field.c 

missing.c msg.c re.c version.c

2: src = arr.c build.c eval.c field.c

3: missing.c msg.c re.c version.c

注:這裡能夠匹配成功是因為perl的點號" ."能夠匹配除了換行符號之外的字元,然後在加上換行符號"\n"

和任意符號".*"就把全部匹配完成了

方法二:有的正則引擎把點號"."解析可以匹配換行符"\n"那可以這樣

$var =~ m/((^\w+\s*=\s*[^\n]*)(\n.*))/
效果跟剛才的那個一樣,只是把點號替換為了"[^\n]",這樣就排除了換行符號了。

匹配多行文字 m用法

1 00 00 09,855 00 00 14,724 britain was an object of desire.200 00 26,295 00 00 31,847 tacitus declared it worth the conquest,300 00 32,015 00 00 35,8...

re正規表示式匹配多行文字

今天在寫乙個簡單爬蟲,最後的文字提取部分,卻一直提不出想要的部分。文字格式是這樣的 rich content topic richtext left 文字文字文字 p div 離文字最近的不固定,只能用上面的來匹配,但是用我僅知道的re的一點皮毛re.findall text 發現,一直匹配不到 查...

多行文字溢位

大家應該都知道用text overflow ellipsis屬性來實現單行文字的溢位顯示省略號 當然部分瀏覽器還需要加寬度width屬性。css overflow hidden text overflow ellipsis white space nowrap 但是這個屬性並不支援多行文字溢位顯示省...