【问题标题】:Equivalent regex pattern from c# to javascript从 c# 到 javascript 的等效正则表达式模式
【发布时间】:2014-11-29 09:11:51
【问题描述】:

正则表达式从 C# 到 javascript 的转换。

C#

(?<![\\]);

Javascript

/(?<![\\]);/

使用 Regex.split 时,C# 的正则表达式可以正常工作,但在 javascript 中会出现“意外量词”错误。

字符串

"CN=s\,tttrrr,OU=OU1,DC=dom1,DC=local;CN=g\;hi\,klm,OU=OU1,DC=dom1,DC=local;CN=rrr\ttt,OU=OU1,DC=dom1,DC=local;CN=Vvvv,OU=OU1,DC=dom1,DC=local"

结果

CN=s\,tttrrr,OU=OU1,DC=dom1,DC=local
CN=g\;hi\,klm,OU=OU1,DC=dom1,DC=local
CN=rrr\ttt,OU=OU1,DC=dom1,DC=local
CN=Vvvv,OU=OU1,DC=dom1,DC=local

【问题讨论】:

  • js 不支持lookbehinds。

标签: javascript c# regex


【解决方案1】:

根据;(前面有一个单词边界)拆分输入,将为您提供所需的输出。

> var str = "CN=s\\,tttrrr,OU=OU1,DC=dom1,DC=local;CN=g\\;hi\\,klm,OU=OU1,DC=dom1,DC=local;CN=rrr\ttt,OU=OU1,DC=dom1,DC=local;CN=Vvvv,OU=OU1,DC=dom1,DC=local"
undefined
> str.split(/\b;/g)
[ 'CN=s\\,tttrrr,OU=OU1,DC=dom1,DC=local',
  'CN=g\\;hi\\,klm,OU=OU1,DC=dom1,DC=local',
  'CN=rrr\ttt,OU=OU1,DC=dom1,DC=local',
  'CN=Vvvv,OU=OU1,DC=dom1,DC=local' ]

DEMO

【讨论】:

    猜你喜欢
    • 2018-07-20
    • 2010-09-07
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多