将C#RegEx转换为JavaScript会出现错误Invalid Group
Converting C# RegEx to JavaScript gives error Invalid Group
我有以下C#正则表达式:
var r = new Regex(@"
(?<=[A-Z])(?=[A-Z][a-z]) |
(?<=[^A-Z])(?=[A-Z]) |
(?<=[A-Za-z])(?=[^A-Za-z])", RegexOptions.IgnorePatternWhitespace);
r.Replace(PageName, " ")
我正在尝试将其转换为JavaScript:
var r= new RegExp('(?<=[A-Z])(?=[A-Z][a-z]) | (?<=[^A-Z])(?=[A-Z]) | (?<=[A-Za-z])(?=[^A-Za-z])');
PageName.split(pageRegex).join(" ")
但它给了我一个错误:
Uncaught SyntaxError: Invalid regular expression: /(?<=[A-Z])(?=[A-Z][a-z]) | (?<=[^A-Z])(?=[A-Z]) | (?<=[A-Za-z])(?=[^A-Za-z])/: Invalid group
更新:RegEx应该转换的一些示例:
- 所有人对所有人
- 人员CRB到人员CRB
- 人与人
([A-Z])(?=[A-Z][a-z])|([^A-Z])(?=[A-Z])|([A-Za-z])(?=[^A-Za-z])
Javascript不支持lookbackind:(?<=
,所以将lookbackind作为一个组,稍后替换它。
替换为$1$2$3
。请参阅演示。
https://regex101.com/r/aI4rA5/11
var re = /([A-Z])(?=[A-Z][a-z])|([^A-Z])(?=[A-Z])|([A-Za-z])(?=[^A-Za-z])/gm;
var str = 'AllPeople'nPeopleCRB'nPeople';
var subst = '$1$2$3 ';
var result = str.replace(re, subst);
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- 将C#RegEx转换为JavaScript会出现错误Invalid Group
- 如何根据AngularJS输入类$invalid将Twitter Bootstrap类设置为错误
- 如何查找$invalid或$error.必需的,美元的错误.模式使用一个简单的HTML表单和指令
- 传单未捕获错误:Invalid LatLng object: (NaN, NaN)