【问题标题】:Converting . net regular expression into javascript转换 .将正则表达式转换为 javascript
【发布时间】:2013-01-28 14:15:34
【问题描述】:

我在 c# (ship|sub)(?<!^(shipment|subway)$) 中有以下正则表达式

当数据不是船运或地铁时,用于检查给定数据是否包含船或子船。

我想在 java 脚本中编写相同的表达式。我尝试了几个带有 javascript negetive look behind 的选项。但它们并没有达到我的目的:例如: 当我给正则表达式发货时,它不应该返回发货(因为我在正则表达式中不包括发货)..但是,当我给会员资格时,它应该给发货并匹配结果为真。

有谁能帮帮我。

【问题讨论】:

  • 重新排列您的帖子将帮助所有阅读您帖子的人
  • 3 人投票结束了这个问题,大概是因为 90% 的问题丢失了,但没有尝试点击“编辑”查看是否有问题。用户代码中未转义的< 原来隐藏了大部分问题。
  • javascript 正则表达式解析器不支持负向回溯。见this question

标签: c# javascript regex


【解决方案1】:

您的正则表达式也不应该在 .NET 中工作。一旦您匹配“ship”或“sub”,否定的后向断言将总是为真:您匹配“ship”或“sub”,因此前面的字符可能永远是“ment”或“bway”,因此总是通过断言。相反,您的意思一定是:

\b(ship(?!ment)|sub(?!way))\b

这也应该在 Javascript 中工作,因为它只使用否定的 lookahead 断言。

【讨论】:

    猜你喜欢
    • 2011-10-02
    • 1970-01-01
    • 2019-05-11
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多