簡體   English   中英

如何在正則表達式中允許一個換行符?

[英]How to allow a single line break in regex?

我將兩個標簽之間的文本匹配為

/open(.*?)end/

如何在兩個標簽之間允許一個換行符( \\n )? 如果使用s修飾符,則允許所有換行符。

怎么樣:

/open([^\n\r]*\R?[^\n\r]*)end/

哪里

  • [^\\n\\r]*表示0或更大,也不換行
  • \\R? 表示0或1任何類型的換行符

您可以使用

'~open(?:(?!open|end).)*(?:\R.*?)?end~'

正則表達式演示

細節

  • open -起始子串
  • (?:(?!open|end).)* -盡可能匹配匹配除換行符以外的其他任何char的回火貪婪令牌,該字符不是endstart子字符串的起始char
  • (?:\\R.*?)? -可選的換行符序列,后跟除換行符以外的任何0+字符,並且盡可能少
  • end -尾隨子字符串。

暫無
暫無

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

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