如果我有这样一段文字:
- Lorem ipsum dolor amet,consectetur {adipiscing elit bghy}. Ftoam sem augue {tincidunt sit amet},volutpat vel,egestas quis {lacus gonec mattis}.空白和空白载体,lectus mi {luctus urna eu molestie diam lectus vel eros}.多内克a massa neque.**
什么是正则表达式选择所有的文本是"不是":花括号{},它们之间是什么?
这个正则表达式选择花括号{}和它们之间的内容。我想要的是:所有"不"的文本:花括号{}以及它们之间的内容。
\{[^}]*\}
2条答案
按热度按时间xuo3flqw1#
您没有使用任何工具或编程语言进行标记,但是您 * 使用了 * regex替换进行标记。假设您可以进行regex替换,请使用以下查找和替换:
正则表达式的替换策略是删除花括号中的所有项。注意,您可能还需要从开始/结束处删除空格,因为上述替换可能会在那里留下悬空空格。
这是一个可以正常工作的regex demo。
如果你 * 不能 * 做一个替换,你可以尝试在下面的正则表达式模式上查找:
它匹配一个或多个可能用标点符号分隔的术语,并坚持第一个和最后一个术语不被
{...}
包围。mccptt672#
使用负的lookahead和 * 所有格 * 量词:
Here is the demo at regex101
[^}{]
匹配除大括号外的任何字符++
possessively(不回馈)* 一次或多次 *(?!\})
仅匹配 * 后面不跟 * 右大括号的那些