導航:首頁 > 編程語言 > java正則大括弧

java正則大括弧

發布時間:2025-01-01 05:28:19

⑴ 正則 匹配大括弧內的逗號

這個確實比較困難啊。
主要難度在你的大括弧的嵌套。
如果你的大括弧的嵌套是成對出現的,我倒是有個思路,如果可行,你倒是可以試一下:
1、正則語句:\{[^\{\}]+\}
這句話可以取到最內層的「{...}」,如果沒有嵌套就直接取出來了,
比如:廣州{南海,順德,三水},佛山{南海,順德,三水,{shanghai,{aaaaa,aaaaa}}},
取出了:{南海,順德,三水}和{aaaaa,aaaaa}
這是可以對取出的這2個替換逗號,然後將大括弧替代成其他字元,比如「#」和「$」,然後再次使用正則匹配,這個就是遞歸了。
2、與上面的類似,不是反其道
正則語句:\}[^\{\}]+{
這句話可以找到「}」「{」之間的不包含「{」「}」的全部數據,也就是說一次性找出大括弧外的數據,這種方法不能找出第一個{之前的數據和最後一個}之後的數據,這個很撿到,檢索一次就好。將這些數據的逗號替換成其他字元,如「#」,然後將其他的逗號替換成你想要的字元,最後將「#」替換回逗號,結束。
個人感覺兩種方法都可行,第二種方法比較簡單,不需要遞歸,僅供參考。

⑵ 在java中要屏蔽中文逗號,正則表達式怎麼寫

英文標點符號比較多,如,(逗號)、。(點號)、?(問號)、:(冒號)、;(分號)、『』(單引號)、!(感嘆號)、「」(雙引號)、—(連接號)、——(破折號)、……(省略號)、()(小括弧)、【】(中括弧)、{}(大括弧)、(頓號)、《》書名號等。以下正則表達式能夠驗證英文標點符號。

[,。?:;『』!「」—……、]|(-{2})|(())|(【】)|({})|(《》) (64)

正則表達式(64)解釋:

[,。?:;『』!「」—……、]匹配,、。、?、:、;、『、』、!、「、」、—、……符號。

-{2}匹配破折號。

()匹配省略號小括弧。

【】匹配中括弧。

{}匹配大括弧。

《》匹配書名號。

⑶ JAVA正則表達式獲取特定的字元串

^ 和 $ 他們是分別用來匹配字元串的開始和結束,以下分別舉例說明:

"^The": 開頭一定要有"The"字元串;

"of despair$": 結尾一定要有"of despair" 的字元串;

那麼,

"^abc$": 就是要求以abc開頭和以abc結尾的字元串,實際上是只有abc匹配。

"notice": 匹配包含notice的字元串。

你可以看見如果你沒有用我們提到的兩個字元(最後一個例子),就是說 模式(正則表達式) 可以出現在被檢驗字元串的任何地方,你沒有把他鎖定到兩邊。

接著,說說 '*', '+',和 '?',

他們用來表示一個字元可以出現的次數或者順序. 他們分別表示:

"zero or more"相當於{0,},
"one or more"相當於{1,},
"zero or one."相當於{0,1}, 這里是一些例子:
"ab*": 和ab{0,}同義,匹配以a開頭,後面可以接0個或者N個b組成的字元串("a", "ab", "abbb", 等);
"ab+": 和ab{1,}同義,同上條一樣,但最少要有一個b存在 ("ab", "abbb", 等.);
"ab?":和ab{0,1}同義,可以沒有或者只有一個b;
"a?b+$": 匹配以一個或者0個a再加上一個以上的b結尾的字元串.
要點, '*', '+',和 '?'只管它前面那個字元.

你也可以在大括弧裡面限制字元出現的個數,比如

"ab{2}": 要求a後面一定要跟兩個b(一個也不能少)("abb");
"ab{2,}": 要求a後面一定要有兩個或者兩個以上b(如"abb", "abbbb", 等.);
"ab{3,5}": 要求a後面可以有2-5個b("abbb", "abbbb", or "abbbbb").
現在我們把一定幾個字元放到小括弧里,比如:

"a(bc)*": 匹配 a 後面跟0個或者一個"bc";
"a(bc){1,5}": 一個到5個 "bc."
還有一個字元 '│', 相當於OR 操作:

"hi│hello": 匹配含有"hi" 或者 "hello" 的 字元串;

"(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字元串;

"(a│b)*c": 匹配含有這樣多個(包括0個)a或b,後面跟一個c的字元串;

一個點('.')可以代表所有的單一字元,不包括"\n"

如果,要匹配包括"\n"在內的所有單個字元,怎麼辦?

對了,用'[\n.]'這種模式.

"a.[0-9]": 一個a加一個字元再加一個0到9的數字

"^.{3}$": 三個任意字元結尾 .

中括弧括住的內容只匹配一個單一的字元

"[ab]": 匹配單個的 a 或者 b ( 和 "a│b" 一樣);

"[a-d]": 匹配'a' 到'd'的單個字元 (和"a│b│c│d" 還有 "[abcd]"效果一樣); 一般我們都用[a-zA-Z]來指定字元為一個大小寫英文

"^[a-zA-Z]": 匹配以大小寫字母開頭的字元串

"[0-9]%": 匹配含有 形如 x% 的字元串

",[a-zA-Z0-9]$": 匹配以逗號再加一個數字或字母結尾的字元串

你也可以把你不想要得字元列在中括弧里,你只需要在總括弧裡面使用'^' 作為開頭 "%[^a-zA-Z]%" 匹配含有兩個百分號裡面有一個非字母的字元串.

要點:^用在中括弧開頭的時候,就表示排除括弧里的字元。為了PHP能夠解釋,你必須在這些字元面前後加'',並且將一些字元轉義.

⑷ java 正則表達式 (.+)怎樣理解舉個例子詳細說明。

正則表達式的符號理解嗎,* ? +
其中*代表的是0-無窮個個,比如/^w*$/,代表有0個或多個數字或字母
?代表是0-1個,比如/^d*$/,代表最多隻有一個數字,也可能沒有
+代表有1-無窮個,比如/^d+$/,代表最少有一個數字

.代表的是換行符之外的任意字元,它代表的字元,不是個數,前面三個代表的個數。

其實如果要代表個數可以用大括弧就可以了,也不用記這些符號,例如d{3,5},代表有3-5個數字。

閱讀全文

與java正則大括弧相關的資料

熱點內容
布穀鳥搜索演算法matlab 瀏覽:132
伺服器的燈如何設置 瀏覽:860
單片機控制門流程圖 瀏覽:302
滬漂女程序員跳槽 瀏覽:304
百度石榴演算法指的是 瀏覽:781
怎麼將文件壓縮得盡可能小 瀏覽:445
linux開發常用命令 瀏覽:831
我的世界java版如何進入伺服器 瀏覽:897
如何把jpg轉換pdf格式 瀏覽:290
華為p10plus圖片加密 瀏覽:369
宏傑文件夾加密密碼忘了 瀏覽:620
dos命令rd 瀏覽:667
怎麼把wps上的演算法格式改了 瀏覽:806
微信文件文件夾網盤 瀏覽:842
html5pdf教程 瀏覽:648
android聊天鍵盤 瀏覽:914
github拉取代碼命令 瀏覽:38
8255a的初始化編程 瀏覽:390
資源機安卓未激活什麼意思 瀏覽:998
飛利浦mp3沒有文件夾 瀏覽:495