[英]New rule to existing regex allowing single quotes
我有一個遵循一些規則的表達式:
''表達式中可以包含零個或多個單詞(字母和數字):
(?i)^(?<q>['])[%\\p{Zs}\\p{L}\\p{N}|()]*\\k<q>$
現在,必須有另一個規則:
例:
'content1' this text should pass 'content2'
更新:
這里的竅門是以下內容也應該通過:
' content ' text ' > pass
' ' content ' > pass
它會是什么樣子? 如果您知道任何有關正則表達式的好書,對我也很有用。
您可以使用|
將其添加到備用列表中|
操作員:
^(?<q>')(?:'[^']*'|[%\p{Zs}\p{L}\p{N}|()])*\k<q>$
我刪除了'
周圍的[]
,並將*
量詞放置在替代列表中。 另外, (?i)
是多余的,因為您的正則表達式中沒有文字字母。
這是正則表達式演示
請注意,此'content1' it won't pass 'content2'
不會通過,但是我想這是預期的行為。
更新 :
如果只想在'...'
之間允許'
,則可以將其添加到字符類中:
^(?<q>')['%\p{Zs}\p{L}\p{N}|()]*\k<q>$
查看另一個演示 (在多行模式下為演示目的添加了\\r?
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.