如何修改正则表达式以匹配单行15位数字并排除日期格式?
正则排除日期格式的实现思路
现有正则及问题
当前用于匹配15位可分隔数字的正则:
\b\d(?:[^\n\d]*\d){14}(?!\d)
它的逻辑细节:
\b:匹配单词边界,确保第一个数字属于独立单词[^\n\d]*:匹配0个或多个非数字、非换行符的字符(?:[^\n\d]*\d){14}:匹配14个可被任意非数字、非换行符字符分隔的数字,最终凑够15个数字
但该正则存在误匹配问题:会将带分隔符的日期格式(如2023-10-05这类)纳入匹配结果。
已有的日期匹配正则
已编写的可精准识别目标日期格式的正则:
(?:[0-9]{1,4}[\-\/\\\.][0-9]{1,2}[\-\/\\\.][0-9]{1,4})
它能匹配各类带-///\/.分隔符的日期组合,比如2023.10.05、05/10/2023等。
需求与疑问
如何修改原有的15位数字匹配正则,使其自动排除包含上述日期格式的内容?
内容的提问来源于stack exchange,提问作者DanielAttard
相关产品推荐
相关产品推荐

