[英]match the same unknown character multiple times
我有一個我似乎無法解決的正則表達式問題。 我實際上不知道正則表達式是否可以做到這一點,但我需要在模式末尾匹配一系列字符 n 次。 例如。 blahblah[AZ]{n} 問題是匹配結束范圍的任何字符都需要完全相同。
例如,我想匹配
但不是
是否有一些正則表達式模式可以做到這一點?
你可以使用這個模式: blahblah([AZ])\1+
\1
是對第一個捕獲組的反向引用,在本例中為([AZ])
。 +
將匹配該字符一次或多次。 要限制它,您可以使用{n}
將+
替換為特定的重復次數,例如\1{3}
將匹配它三次。
如果您需要匹配整個字符串,請確保分別以^
為前綴並以$
結尾,以便模式變為^blahblah([AZ])\1+$
您可以在此處閱讀有關反向引用的更多信息。
在大多數正則表達式實現中,您可以通過在正則表達式中引用捕獲組來完成此操作。 對於您的示例,您可以使用以下內容將相同的大寫字符匹配五次:
blahblah([A-Z])\1{4}
請注意,要匹配正則表達式n
次,您需要使用\1{n-1}
因為一個匹配項將來自捕獲組。
blahblah(.)\1*\b
應該適用於幾乎所有的語言風格。 (.)
捕獲任何內容,然后\1*
匹配該(第一個匹配項)任意次數。
blahblah([AZ]|[az])\1+ 這應該有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.