regex - 用 "1Don' 替换 "_1Don_t_do_that"t do that"

标签 regex xcode

我需要修改一个键值文件的键如下:

"1Don't do that" = "some value"


"_1Don_t_do_that" = "some value"
  • 如果字符串以数字开头,则在前面加上下划线
  • 用下划线替换任何非字母数字字符
  • 不要更改值字符串

  • 如有必要,我可以分几个步骤完成

    我尝试过诸如 \"\w+[^\w]\w+\" = 之类的东西但它没有考虑多个空格,也没有单引号或双引号。

    欢迎任何帮助。

    最佳答案

    假设你的引号都没有被转义,这应该有效:

    (?:(?<=")(?=\d)|[^\w"])(?=[^"]*"\s*=)
    

    这匹配
  • 要么是"之间的位置和一个数字
  • 或非字母数字字符(引号除外),

  • 但前提是它们后跟单引号和等号。

    See it live on regex101 .

    关于regex - 用 "1Don' 替换 "_1Don_t_do_that"t do that",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17536207/

    相关文章:

    python - 为什么\b\w+\b 不匹配一个词?

    javascript - 如何在不删除“的情况下替换以下^?

    r - 使用 str_replace 有条件替换

    xcode - Xcode 在哪里保存程序的可执行文件或等效文件?

    ios - XMPP、CoreData - 如何仅加载自身和目标用户消息?

    ios - 如何并排放置两个标签,一个可以增长,一个不能?

    regex - 如何显示从文件开头到首次出现正则表达式的数据?

    c# - 如何隐藏 CompareValidators 和正则表达式直到需要它们

    ios - xcode 构建中的不同参数

    iOS 9 与第三方 Mandrill/MailChimp 深度链接