[英]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的回火貪婪令牌,該字符不是end
或start
子字符串的起始char (?:\\R.*?)?
-可選的換行符序列,后跟除換行符以外的任何0+字符,並且盡可能少 end
-尾隨子字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.