草庐IT

re-entrant

全部标签

python re.split() 以空格、逗号和句点分隔,但在 1,000 或 1.50 等情况下则不行

我想使用pythonre.split()将字符串按空格、逗号和句点拆分为单个单词。但我不希望将"1,200"拆分为["1","200"]或["1.2"]以被拆分成["1","2"].例子l="onetwo3.45,6seven.eightnine,ten"结果应该是["one","two","3.4","5,6","seven","eight","nine","ten"] 最佳答案 使用否定的前瞻和否定的后瞻:>s="onetwo3.45,6seven.eightnine,ten">parts=re.split('\s|(?换句话说

python re.split() 以空格、逗号和句点分隔,但在 1,000 或 1.50 等情况下则不行

我想使用pythonre.split()将字符串按空格、逗号和句点拆分为单个单词。但我不希望将"1,200"拆分为["1","200"]或["1.2"]以被拆分成["1","2"].例子l="onetwo3.45,6seven.eightnine,ten"结果应该是["one","two","3.4","5,6","seven","eight","nine","ten"] 最佳答案 使用否定的前瞻和否定的后瞻:>s="onetwo3.45,6seven.eightnine,ten">parts=re.split('\s|(?换句话说

Python re.sub 反向引用而不是反向引用

这个问题在这里已经有了答案:Handlingbackreferencestocapturinggroupsinre.subreplacementpattern(2个回答)关闭3年前。我有以下几点:test我有以下几点:fileText=re.sub("(.*?)","\1",fileText,flags=re.DOTALL)其中fileText是我在上面发布的字符串。当我在运行正则表达式替换后打印出fileText时,我回来了而不是预期的test现在我对正则表达式相当精通,我知道它应该可以工作,事实上我知道它匹配正确,因为当我进行搜索并打印出groups但我是python新手,我很困惑

Python re.sub 反向引用而不是反向引用

这个问题在这里已经有了答案:Handlingbackreferencestocapturinggroupsinre.subreplacementpattern(2个回答)关闭3年前。我有以下几点:test我有以下几点:fileText=re.sub("(.*?)","\1",fileText,flags=re.DOTALL)其中fileText是我在上面发布的字符串。当我在运行正则表达式替换后打印出fileText时,我回来了而不是预期的test现在我对正则表达式相当精通,我知道它应该可以工作,事实上我知道它匹配正确,因为当我进行搜索并打印出groups但我是python新手,我很困惑

python - 在 Python 中将函数传递给 re.sub

我的字符串中某处包含一个数字,我正在尝试用它们的文字符号替换这个数字(即3->三)。我有一个功能可以做到这一点。现在的问题是在字符串中找到数字,同时保持字符串的其余部分完好无损。为此,我选择使用re.sub函数,它可以接受“可调用”。但是,传递给它的对象是内部_sre.SRE_Match我不知道如何处理它。我的函数接受一个数字或其字符串表示。我应该如何编写一些辅助函数来桥接re.sub调用与我的函数进行所需的处理?或者,有没有更好的方法来做我想做的事? 最佳答案 你应该调用group()来获取匹配的字符串:importrenumbe

python - 在 Python 中将函数传递给 re.sub

我的字符串中某处包含一个数字,我正在尝试用它们的文字符号替换这个数字(即3->三)。我有一个功能可以做到这一点。现在的问题是在字符串中找到数字,同时保持字符串的其余部分完好无损。为此,我选择使用re.sub函数,它可以接受“可调用”。但是,传递给它的对象是内部_sre.SRE_Match我不知道如何处理它。我的函数接受一个数字或其字符串表示。我应该如何编写一些辅助函数来桥接re.sub调用与我的函数进行所需的处理?或者,有没有更好的方法来做我想做的事? 最佳答案 你应该调用group()来获取匹配的字符串:importrenumbe

python-re : How do I match an alpha character

如何将字母字符与正则表达式匹配。我想要一个在\w中但不在\d中的字符。我希望它兼容unicode,这就是为什么我不能使用[a-zA-Z]。 最佳答案 您的前两句话相互矛盾。“在\w中但不在\d中”包括下划线。我从你的第三句话中假设你不想要下划线。在信封背面使用维恩图会有所帮助。让我们看看我们不想要什么:(1)与\w不匹配的字符(即不想要任何不是字母、数字或下划线的字符)=>\W(2)数字=>\d(3)下划线=>_所以我们不想要的是字符类[\W\d_]中的任何东西,因此我们想要的是字符类[^\W\d_中的任何东西]这是一个简单的例子(

python-re : How do I match an alpha character

如何将字母字符与正则表达式匹配。我想要一个在\w中但不在\d中的字符。我希望它兼容unicode,这就是为什么我不能使用[a-zA-Z]。 最佳答案 您的前两句话相互矛盾。“在\w中但不在\d中”包括下划线。我从你的第三句话中假设你不想要下划线。在信封背面使用维恩图会有所帮助。让我们看看我们不想要什么:(1)与\w不匹配的字符(即不想要任何不是字母、数字或下划线的字符)=>\W(2)数字=>\d(3)下划线=>_所以我们不想要的是字符类[\W\d_]中的任何东西,因此我们想要的是字符类[^\W\d_中的任何东西]这是一个简单的例子(

python - 替代 `match = re.match(); if match: ...` 成语?

如果您想检查某项是否与正则表达式匹配,如果是,请打印第一组,您就可以了..importrematch=re.match("(\d+)g","123g")ifmatchisnotNone:printmatch.group(1)这完全是迂腐的,但是中间的match变量有点烦人..像Perl这样的语言通过为匹配组创建新的$1..$9变量来做到这一点,比如..if($blah~=/(\d+)g/){print$1}来自thisredditcomment,withre_context.match('^blah',s)asmatch:ifmatch:...else:.....我认为这是一个有趣的想

python - 替代 `match = re.match(); if match: ...` 成语?

如果您想检查某项是否与正则表达式匹配,如果是,请打印第一组,您就可以了..importrematch=re.match("(\d+)g","123g")ifmatchisnotNone:printmatch.group(1)这完全是迂腐的,但是中间的match变量有点烦人..像Perl这样的语言通过为匹配组创建新的$1..$9变量来做到这一点,比如..if($blah~=/(\d+)g/){print$1}来自thisredditcomment,withre_context.match('^blah',s)asmatch:ifmatch:...else:.....我认为这是一个有趣的想