簡體   English   中英

多次匹配相同的未知字符

[英]match the same unknown character multiple times

我有一個我似乎無法解決的正則表達式問題。 我實際上不知道正則表達式是否可以做到這一點,但我需要在模式末尾匹配一系列字符 n 次。 例如。 blahblah[AZ]{n} 問題是匹配結束范圍的任何字符都需要完全相同。

例如,我想匹配

  • 廢話啊啊啊
  • 廢話EEEEE
  • 廢話QQQQQ

但不是

  • 廢話ADFES
  • 廢話ZYYYY

是否有一些正則表達式模式可以做到這一點?

你可以使用這個模式: 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.

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