我有以下REG例如:正則表達式不匹配新行
"^((?!([\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3})))).)*$"
但它不符合新的生產線,以及:
https://regex101.com/r/nT6wK0/1
任何想法如何使它匹配時有一個新的線?
我有以下REG例如:正則表達式不匹配新行
"^((?!([\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3})))).)*$"
但它不符合新的生產線,以及:
https://regex101.com/r/nT6wK0/1
任何想法如何使它匹配時有一個新的線?
的.
在實際上意味着
所有,但一個換行符。 (source)
通過與[\S\s]
替換它,這意味着
所有間隔字符和所有非空格字符;所以所有的角色。
然後它似乎工作。你也可以使用其他變體像[\W\w]
,[\D\d]
...
那麼「正確」的正則表達式(請不要把我的話,第一個測試這)是:
^((?!([\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))))[\S\s])*$
是的,更多是的!謝謝! – Jimmyt1988
假設您只想匹配第一行,可以添加多行選項(/ m)以包含換行符。
如果你想要包含第二行,你需要預先讀一行。你如何做到這一點取決於正則表達式引擎:sed中的N; getline in awk; -n in perl; ...
建議使用http://regexper.com查看您的正則表達式。 [實施例](http://regexper.com/#%5E((%3F!(%5B%5CW!%23%24%25%26' *%2B%5C-%2F%3D%3F%5C% 5E_%60%7B%7C%7D〜%5D%2B(%5C。%5B%5CW!%23%24%25%26' *%2B%5C-%2F%3D%3F%5C%5E_%60 %7B%7C%7D〜%5D%2B)*%40(((%5B%5C-%5CW%5D%2B%5C。)%2B%5Ba上-ZA-Z%5D%7B2 2C4%%7D) %7C((%5B0-9%5D%7B1%2C3%7D%5C。)%7B3%7D%5B0-9%5D%7B1%2C3%7D)))))。)*%24) – Underverse
你是什麼人試圖實現?我很好奇... –
我想jquery驗證以檢查電子郵件地址是否包含在描述字段 – Jimmyt1988