簡體   English   中英

正則表達式:具有重復字符

[英]Regex: with repeated characters

我正試圖抓住一個單詞中每兩個重復的字符。 我嘗試了這個:

(\w)\1+

但由於某種原因,它只能抓住前兩對。 例如:單詞“ hellokitty”,它捕獲了“ ll”而忽略了其他“ tt”,這已在regex101中進行了測試

您需要使用修飾符g進行全局匹配:

/(\w)\1/g

https://regex101.com/r/nW7vS1/1

如果要多次重復一個正則表達式,則必須使用global標志。 在Regex101上,只需將g放在正則表達式旁邊的框中。

在代碼中如何使用它取決於您使用的語言。

Java腳本

/pattern/flags
new RegExp(pattern[, flags])

例:

regex = /(\w)\1+/g;
regex = new RegExp("(\w)\1+", "g");

蟒蛇

re.compile(pattern, flags=0)

但是 python沒有global標志。 要查找所有事件,請使用:

re.compile("(\w)\1+")
re.findall("Hellokitty")

這將返回匹配的連音符。

g標志將使您的正則表達式成為global或重復的。

/(\w)\1+/g

演示版


如果要防止它重復出現三遍,可以刪除+

/(\w)\1/g

演示版

暫無
暫無

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

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