簡體   English   中英

匹配4個或更多相同字符的正則表達式

[英]regular expression to match 4 or more identical characters

我需要正則表達式來匹配以下情況。

4個或更多連續的相同字符/數字; 例如1111,aaaa,bbbb,2222等。

我嘗試了這種模式匹配

Pattern pattern = Pattern.compile("([a-z\\d])\\1\\1", Pattern.CASE_INSENSITIVE);

但是我發現它只匹配3個或更多相同的字符。

  1. 請讓我知道我需要進行哪些更改以使其匹配4個或更多相同的字符。

  2. 我還需要檢查特殊字符“ \\”。 請告訴我我需要如何在模式匹配語句中添加...我需要給定為“ \\\\”嗎?

您需要添加另一個反向引用:

Pattern pattern = Pattern.compile("([a-z\\d])\\1\\1\\1", Pattern.CASE_INSENSITIVE);

基本上,括號表示匹配的組。 從那里開始,三個反斜杠代表該匹配的組,這意味着所有四個組必須相同。

您也許也可以使用{3,} ...

"([a-z\\d])\\1{3,}"

而不是多次添加\\\\ 1(在Java中沒有嘗試過)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM