我可能完全错过了一些东西,但这是我所拥有的:
- -- 需要防止无意中泄露电话号码。
- -- 所有数字均采用 NNN-NNNN 格式
- -- 可以分隔,也可以不分隔(例如,制表符、逗号、空格等) -
- 不要阻止具有相似(但不相同)形式的期刊文章或研究编号 - 例如 xxxnnn-nnnnxxx(是的,有点与"分隔"相矛盾,但"x" 仅字母数字)
所以,我有
(A|s|W)d{3}-d{4}(Z|s|W)
哪个有效!几乎是我想要的方式。 几乎。 但是,W
是^a-zA-Z0-9_
的,_
是潜在的分隔符。 已经尝试用^a-zA-Z0-9
替换W
但没有成功(实际上更糟),但可能指定不正确? FWIW,这将由.NET引擎进行评估。
试试这个
(A|s|[^a-zA-Z0-9])d{3}-d{4}(Z|s|[^a-zA-Z0-9])
使用负后看(?<!...)
和负前瞻(?!...)
:
(?<![^W_])[0-9]{3}-[0-9]{4}(?![^W_])