问题标签 [re]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
54 浏览

python - Sanatize 输入以在正则表达式中包含空格?

我目前正在使用 python 3.5。

我正在尝试制作一个接受输入的工具,并对所说的“玩家名”进行正则表达式搜索并返回匹配结果。我遇到了一个有趣的问题,因为这是与电子游戏相关的,并且一些用户的名字中有特殊字符(氏族标签)。

为了尝试清理输入,我正在使用re.escape,但我没有得到我期望的行为。

例如,我允许用户输入部分匹配项,并使用正则表达式来查找玩家。所以如果我输入Mall,它应该能够正则表达式找到Mallachar,她是我当前的示例匹配设置。

因为这是一个用户名不是唯一的系统,玩家可以更改他们的名字,所以我正在搜索用户的“列表”。

无论如何,我遇到的问题是人们有空间或氏族标签。例如,如果氏族~DOG~加入服务器,并且我有名字的人,~DOG~ Master并且~DOG- Runner如果我输入字符串~DOG~ Run,我会得到所有匹配项~DOG~ .*

我的理解是re.escape应该逃避空间,所以它是我搜索的一部分,所以它应该试图匹配这个

但相反,它似乎正在运行它,就像它忽略了之后的所有内容~DOG~

我误解了怎么回事re.escape

0 投票
2 回答
100 浏览

python - 如何使用正则表达式删除字符串上嵌套文本周围的图案文本?

我有一个txt = 'The fat \m{cat sat} on \m{the} mat.'希望输出的文本'The fat cat sat on the mat.'

我尝试了以下两种方法:

为什么会这样,我该怎么办?

0 投票
4 回答
686 浏览

python - “结果中包含空匹配项”是什么意思?

我指的是re.findall函数的文档:

“结果中包含空匹配项”是什么意思。?

0 投票
1 回答
61 浏览

python - 从匹配对象获取模式匹配

我正在使用 Python 正则表达式,并且试图从匹配对象中获取模式匹配,而不是文本匹配本身。

我有一些要替换的模式,我正在这样做:

但这是一个错误的解决方案,因为match.group(0)返回匹配的文本,所以它们都不等于模式字典的任何键。

我试过match.pattern但得到一个异常并尝试过match.re,但这给出了所有re.compile对象,它的问题模式是'^[ |\n]+|[ |\n]+$|[ |\n]+'.

编辑:基于 Barmar 解决方案,我得到了这个:

但仍然不是始终从匹配组中获取模式的方法。

0 投票
1 回答
414 浏览

python - 仅删除连续的特殊字符,但保留连续的 [a-zA-Z0-9] 和单个字符

如何删除字符串中所有特殊字符的多次连续出现?

我可以得到如下代码:

对于个人和最好的情况,对列表中的所有字符使用循环,例如:

但我相信也有一种有效的方法。

我试过了:

但它会删除所有特殊字符,除了一个以字母开头的字符。

字符串可以有不同的连续特殊字符,例如99@aaaa*!@#$.但不一样++--...

0 投票
1 回答
57 浏览

python - 我可以在 Regex 捕获组中引用一个数字,对其进行操作,然后将其替换回来吗?

例如我有一个这样的字符串:

我想将其更改为:

所以我试图'v0'用下面的代替:

然后现在我得到:

但是我不知道如何在这里操纵数字。

显然re.sub(r'(\W)v(\d+)(\W)', rf'\1v{int(\2)+1}\3', string)不起作用,因为SyntaxError: f-string expression part cannot include a backslash.

除了在单独的步骤中执行这些操作之外的任何想法,即捕获数字,将其添加并在执行之前将其更改为字符串re.sub()

0 投票
1 回答
45 浏览

python - Python中的反向引用

我有一个大的 txt 文件,我想使用 Python 的re模块对其进行编辑。一旦找到与我的正则表达式匹配的字符串,我想对它们进行一些更改并将它们写回 txt 文件。例如,

原文

期望的输出

在 Atom 中,我可以通过搜索([a-z]+)\s+ans\s=\s+(\d+)并替换为$1 $2. 分组在 Python$中不起作用。.sub()关于如何实现这种类型的反向引用的任何提示?

编辑:我正在使用?P<tag>反向引用,但是如果我尝试使用字典进行多次替换,那么它就会崩溃。

0 投票
2 回答
54 浏览

python - 替换文件中两个字符之间的字符串

我的属性文件中有一个字符串,如下所示:

我想用不同的值替换以下字符串:

我有下面的代码,但是,它似乎没有按预期进行:

0 投票
1 回答
174 浏览

python - 如何使用 urllib.request 获取文件的 url 列表?

目标输出

但我得到了这个

尝试此操作时收到此错误消息。

0 投票
0 回答
19 浏览

python - 从熊猫专栏中只找到一个世界

我有一个数据框,其中包含列中的 n-gram 字符串。我想找到只包含一个目标词的行。我怎样才能做到这一点?我试过这段代码: df[df["column_name].str.match("targeted_word")]。但这会给出该目标词之后或之前的所有值。我需要得到只有目标词的行。

提前致谢。