Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在最里面的花括号中查找以具有给定子字符串的单词开头的文本_Regex_Python 3.x - Fatal编程技术网

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.}
我正在尝试编写一个正则表达式,它将:

  • 确定全文中最里面的花括号,以及
  • 检查标识的文本块中的第一个单词是否以“\”开头,并且其中是否有子字符串“font”
  • 正则表达式

    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