regex - 为什么我的负面回顾在正则表达式中不起作用?
问题描述
这是我的正则表达式:
\w*\d{6,}\.*\-*\d|[a-z]{2}\-{1}[0-9]+\-\d*
这是我的干草堆
+19185555555:这是 Scott 在塔尔萨的任何一家公司。我们需要一名西班牙语翻译,以便在 2019 年 1 月 25 日星期五在任何建筑物举行 11:00 会议。444 S 不管大道,塔尔萨。姓氏是麦克道尔。联系人是凯瑟琳泽塔琼斯 918-555-5555。推荐 #1973756 上午 11:28
我制作了正则表达式,因此它不会捕获电话号码,但我发现这些讨厌的号码没有任何空格或破折号。幸运的是,在我的案例中可以识别它们,因为它们前面有一个“+”。
我只是想匹配推荐号码,但它一直在匹配两者,并输出第一个匹配项。
我已经尝试过负面的看法,但它不适用于任何正则表达式测试器。我的负面表情有什么问题?
(?<!\+)\w*\d{6,}\.*\-*\d|[a-z]{2}\-{1}[0-9]+\-\d*
解决方案
您可以\d
在否定后向中添加字符集,以避免匹配符号后面的数字+
:
(?<![+\d])\w*\d{6,}\.*\-*\d|[a-z]{2}\-{1}[0-9]+\-\d*
推荐阅读
- getstream-io - stream-chat-react v6 中的 overrideSubmitHandler 和新的 useMessageInputContext 挂钩问题
- python - 我怎样才能从一个def跳转到另一个def
- flutter - 如何在 Flutter 中实现文本居中对齐和 prefixIcon 的 Expandable TextField
- c++ - 使用 std::ofstream 保存名称中包含 '/' 或 '\' 或 ':' 的文件
- amazon-s3 - AWS Lambas - 从 Lambda 或对 S3 对象的引用返回数据更有效?
- email - Persits.Mailsender UTF-8 编码在发送电子邮件时不起作用
- google-apps-script - Google表格:自定义函数中的多维数组到行
- dacpac - 目标数据库中没有列,但出现“架构更新正在终止,因为可能会发生数据丢失”
- codeigniter - CodeIgniter 4:定义/包含“全局可用”的数组和函数
- prolog - 在prolog中实现十字路口逻辑