用正規表示式匹配非括號內的資料

時間 2021-06-02 05:39:13

1樓:蒼爾貓鹿

js實現如下:

varreg=g

;var

source

="/cc//}"

;while

(result

=reg

.exec

(source

))將括號作為邊界,括號之間的內容作為第乙個分組,用全域性匹配模式,迴圈匹配,每次匹配得到乙個陣列,其中下標為1的即為第乙個分組,也就是括號之間的內容。

2樓:梁濤

解法一如果你用的語言支援字串的split函式,並且該函式可以使用正規表示式來匹配分隔符,那麼:

try 04:21:54 $ cat reg_split.pl#!/usr/bin/envperluse strict;

use warnings;

my $text = "/cc//";

my @fields = split(qrtext);

our $" = "\n";

print "@fields\n";

try 04:21:56 $ ./reg_split.pl/cc/

/try 04:21:58 $

解法二在解法一的基礎上改用gsub函式(全域性替換),同樣要求支援正規表示式來匹配替換部分文字。

然後以替換進去的特殊字串作為分隔符手動解開字串。

解法三直接使用全域性匹配:

try 04:24:53 $ cat reg.pl#!/usr/bin/envperluse strict;

use warnings;

my $text = "/cc//";

my @fields = grep $text =~ mg;

our $" = "\n";

print "@fields\n";

try 04:24:56 $ ./reg.pl/cc/

/try 04:24:59 $

3樓:仁風H

PHP $str = '}/cc//';

preg_match_all('U', $str, $matches);

var_dump($matches);$matches[1] 為 }/cc

$matches[2] 為 /

正規表示式如何匹配 3 的倍數?

Ethan 先轉為二進位制 1 10 1 01 0 10 然後用這條正則匹配就對了 思路是 finite automata 和二進位制正則判斷數字是否能被5整除 趣味Python每週一題20170912 0369 147 258 0369 258 147 0369 258 0369 258 258 ...

Python 我這個正規表示式怎麼匹配不上?

Emrys 猜測一下,題主想要刪掉所有 Python 語句的輸出 如果不是請更新題目描述 只需要用下面的正規表示式即可 importres class A pass a A a.dict a.test test a.dict getattr a,test test a.abc Traceback m...

如何用正規表示式表達2020 10 1的日期,求各位大佬指點,挺急的 ?

1 9 0 9 1 9 1 0,1,2 1 9 1 0 9 2 0 9 3 0,1 上述回答基於以下幾個限制 1.年月日開頭的0不寫 2.填寫人自己不要瞎寫日期,比如2000.2.31和2001.2.29,顯然不是正確日期,但我給的正則會識別為真 劉長元 從你的問題描述來看,我感覺你對正規表示式的理...