【问题标题】:Sublime Text 2 snippet substitution RegEx: lookahead not taking accented charactersSublime Text 2 片段替换正则表达式:前瞻不采用重音字符
【发布时间】:2013-05-19 00:30:28
【问题描述】:

我正在尝试进行替换,我需要找到后跟数字或字母的空格,带或不带重音符号,用下划线替换它们。我目前有这个(注意开头的空格):

 \b(?=[a-zA-Z0-9àéèêëîïôöûü])

使用字符串test string école test,替换如下:

test_string école_test

我猜你有问题,但以防万一,预期的结果是这样的:

test_string_école_test

最奇怪的是,如果我只搜索[a-zA-Z0-9àéèêëîïôöûü],它会匹配每一个字母,所以我的 RegEx 似乎很好......

这是一个错误还是我遗漏了什么?

【问题讨论】:

  • 尝试删除 \b - 这对您的查询不是必需的(您已经匹配了空格),并且正则表达式中的 unicode 支持不完整。边界检测可能只是 ASCII。
  • 哦,对了...非常感谢!这是因为我最初尝试进行负前瞻(这次匹配符号),但没有成功,所以我尝试了相反的方法。
  • 凯。既然它有效,我将提交它作为答案。

标签: regex macros sublimetext2


【解决方案1】:

删除\b - 这对您的查询不是必需的(您已经匹配了空格),并且正则表达式中的 unicode 支持不完整。边界检测仅在 Sublime Text 2 中为 ASCII。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-31
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多