如何正确地只针对LA7、LA8、LA9、LA11、LA12、LA21、LA22、LA23、CA10、CA11和CA12 ?
我已经单独完成了这个模式,但我认为这不是最有效或正确的方法。
/^(LA[7-9A-Z]? ?d[0-9A-Z]{2}|LA[11-12A-Z]? ?d[0-9A-Z]{2}|LA[21-23A-Z]? ?d[0-9A-Z]{2}|CA[10-12A-Z]? ?d[0-9A-Z]{2})$/
如果目的是只将这些特定代码作为独立字符串匹配,则可以使用
^(?:LA(?:2[123]|1[12]|[789])|CA1[012])$
查看这个正则表达式演示。
要在较长的文本中匹配它们,您可以使用带有单词边界的正则表达式变体:
b(?:LA(?:2[123]|1[12]|[789])|CA1[012])b
细节:
^
-字符串起始(?:LA(?:2[123]|1[12]|[789])|CA1[012])
-两种选择之一:LA(?:2[123]|1[12]|[789])
-LA
,然后2
接1
、2
或3
,或者1
接1
或2
,或者7
、8
或9
|
-或CA1[012]
-CA1
然后0
,或1
,或2
$
- end of string.