Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想编写允许一些特殊字符的正则表达式,#-.它应该至少包含一个字母。我也想了解以下内容:
#-.
/(?=^[A-Z0-9. '-]{1,45}$)/i
在这个正则表达式中是什么意思?=^?什么是正则表达式中的子表达式?
?=^
(?=)是向前看,它在字符串中向前看以查看它是否匹配而不实际捕获它
(?=)
^表示它在输入的开头匹配(例如,字符串a test不^test匹配,因为它不以“test”开头,即使它包含它)
^
a test
^test
总的来说,你的表达是说它必须以你的字符组中存在的 1-45 个项目^开始和$结束(不区分大小写)。在这种情况下它在前瞻内的事实只是意味着它不会捕获任何东西(零长度匹配)。{1,45}[A-Z0-9. '-]/i
$
{1,45}
[A-Z0-9. '-]
/i
?=是一个积极的前瞻
?=
阅读更多关于正则表达式