RegEx negative-lookahead 和 behind 查找未嵌入包装器中的字符
RegEx negative-lookahead and behind to find characters not embedded within a wrapper
我想匹配未被明确定义的字符串包装器包围的 strings/characters。在这种情况下,包装器是字符串左侧的“@L@”和字符串右侧的“@R@”。
以下面的字符串为例:
This is a @L@string@R@ and it's @L@good or ok@R@ to change characters in the next string
我希望能够搜索(任意数量的字符)以根据具体情况进行更改。例如:
- 搜索 "in",将匹配两次 - 单词 'in' 和最后一个单词 'string'.
中包含的 'in'
- 搜索 "g",应该在单词 'change' 和最后的单词字符串中找到(但不是包装器中包含的字符串的第一次出现)。
我有点熟悉前瞻的工作原理,因为它可以识别匹配项,并且 return 匹配条件不会作为已识别匹配项的一部分。
不幸的是,我不知道该怎么做。
我也在 http://regexpal.com/ 玩过这个,但似乎找不到任何有用的东西。我为 iOS 找到的例子有问题,所以也许 javascript 测试仪有点不同。
我从我之前问的一个问题中得到了一些指导,这似乎几乎相同但差异很大,这意味着我无法弄清楚如何重用它:
有什么想法吗?
我想匹配未被明确定义的字符串包装器包围的 strings/characters。在这种情况下,包装器是字符串左侧的“@L@”和字符串右侧的“@R@”。
以下面的字符串为例:
This is a @L@string@R@ and it's @L@good or ok@R@ to change characters in the next string
我希望能够搜索(任意数量的字符)以根据具体情况进行更改。例如:
- 搜索 "in",将匹配两次 - 单词 'in' 和最后一个单词 'string'. 中包含的 'in'
- 搜索 "g",应该在单词 'change' 和最后的单词字符串中找到(但不是包装器中包含的字符串的第一次出现)。
我有点熟悉前瞻的工作原理,因为它可以识别匹配项,并且 return 匹配条件不会作为已识别匹配项的一部分。 不幸的是,我不知道该怎么做。
我也在 http://regexpal.com/ 玩过这个,但似乎找不到任何有用的东西。我为 iOS 找到的例子有问题,所以也许 javascript 测试仪有点不同。
我从我之前问的一个问题中得到了一些指导,这似乎几乎相同但差异很大,这意味着我无法弄清楚如何重用它:
有什么想法吗?