Regex 在最里面的花括号中查找以具有给定子字符串的单词开头的文本
考虑以下案文:Regex 在最里面的花括号中查找以具有给定子字符串的单词开头的文本,regex,python-3.x,Regex,Python 3.x,考虑以下案文: {\Largefont\it Hello world!} Some text. { \Hugefont \sl Thanks.} 我正在尝试编写一个正则表达式,它将: 确定全文中最里面的花括号,以及 检查标识的文本块中的第一个单词是否以“\”开头,并且其中是否有子字符串“font” 正则表达式 re.compile(r'\{\s*[^{}]+\}') 做第一部分的工作。我如何完成第二部分?特别是,我不希望将\Largefont\it视为一个单词,而是将其视为两个独立的单词
{\Largefont\it Hello world!} Some text. { \Hugefont \sl Thanks.}
我正在尝试编写一个正则表达式,它将:
re.compile(r'\{\s*[^{}]+\}')
做第一部分的工作。我如何完成第二部分?特别是,我不希望将\Largefont\it
视为一个单词,而是将其视为两个独立的单词\Largefont
和\it
。预期产出为:
{\Largefont\it Hello world!}
{ \Hugefont \sl Thanks.}
谢谢。您需要使用积极的前瞻性,以确保传入的数据符合模式。这是你可以使用的正则表达式
(?<=\{)(?=\s*\\[^{}\\]*font)[^{}]+(?=\})
(?试试这个正则表达式:
(?<={)\s*\\[^\\]*font[^{}]*(?=})
(?仅从最里面的花括号中无法获取所需的内容。@Gurman:我故意没有这样做,因为这已经足够了,但我更新了你的观点,在末尾包含了积极的前瞻性,以确保}和输入结束。检查我更新的正则表达式和@PushpeshKumarRajwanshi,谢谢你的解释和良好的正则表达式解决方案。@RavinderSingh13:感谢您的支持,我很高兴听到您鼓励的话:)@PushpeshKumarRajwanshi。谢谢。我的完整文档非常有魅力。您的正则表达式失败了,因为它选择了非预期的文本,而不是最内部的文本brackets@PushpeshKumarRajwanshi