问题标签 [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.
python - Sanatize 输入以在正则表达式中包含空格?
我目前正在使用 python 3.5。
我正在尝试制作一个接受输入的工具,并对所说的“玩家名”进行正则表达式搜索并返回匹配结果。我遇到了一个有趣的问题,因为这是与电子游戏相关的,并且一些用户的名字中有特殊字符(氏族标签)。
为了尝试清理输入,我正在使用re.escape
,但我没有得到我期望的行为。
例如,我允许用户输入部分匹配项,并使用正则表达式来查找玩家。所以如果我输入Mall
,它应该能够正则表达式找到Mallachar
,她是我当前的示例匹配设置。
因为这是一个用户名不是唯一的系统,玩家可以更改他们的名字,所以我正在搜索用户的“列表”。
无论如何,我遇到的问题是人们有空间或氏族标签。例如,如果氏族~DOG~
加入服务器,并且我有名字的人,~DOG~ Master
并且~DOG- Runner
如果我输入字符串~DOG~ Run
,我会得到所有匹配项~DOG~ .*
。
我的理解是re.escape
应该逃避空间,所以它是我搜索的一部分,所以它应该试图匹配这个
但相反,它似乎正在运行它,就像它忽略了之后的所有内容~DOG~
:
我误解了怎么回事re.escape
?
python - 如何使用正则表达式删除字符串上嵌套文本周围的图案文本?
我有一个txt = 'The fat \m{cat sat} on \m{the} mat.'
希望输出的文本'The fat cat sat on the mat.'
我尝试了以下两种方法:
为什么会这样,我该怎么办?
python - “结果中包含空匹配项”是什么意思?
我指的是re.findall
函数的文档:
“结果中包含空匹配项”是什么意思。?
python - 从匹配对象获取模式匹配
我正在使用 Python 正则表达式,并且试图从匹配对象中获取模式匹配,而不是文本匹配本身。
我有一些要替换的模式,我正在这样做:
但这是一个错误的解决方案,因为match.group(0)
返回匹配的文本,所以它们都不等于模式字典的任何键。
我试过match.pattern
但得到一个异常并尝试过match.re
,但这给出了所有re.compile
对象,它的问题模式是'^[ |\n]+|[ |\n]+$|[ |\n]+'
.
编辑:基于 Barmar 解决方案,我得到了这个:
但仍然不是始终从匹配组中获取模式的方法。
python - 仅删除连续的特殊字符,但保留连续的 [a-zA-Z0-9] 和单个字符
如何删除字符串中所有特殊字符的多次连续出现?
我可以得到如下代码:
对于个人和最好的情况,对列表中的所有字符使用循环,例如:
但我相信也有一种有效的方法。
我试过了:
但它会删除所有特殊字符,除了一个以字母开头的字符。
字符串可以有不同的连续特殊字符,例如99@aaaa*!@#$.
但不一样++--...
。
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()
?
python - Python中的反向引用
我有一个大的 txt 文件,我想使用 Python 的re
模块对其进行编辑。一旦找到与我的正则表达式匹配的字符串,我想对它们进行一些更改并将它们写回 txt 文件。例如,
原文
期望的输出:
在 Atom 中,我可以通过搜索([a-z]+)\s+ans\s=\s+(\d+)
并替换为$1 $2
. 分组在 Python$
中不起作用。.sub()
关于如何实现这种类型的反向引用的任何提示?
编辑:我正在使用?P<tag>
反向引用,但是如果我尝试使用字典进行多次替换,那么它就会崩溃。
python - 替换文件中两个字符之间的字符串
我的属性文件中有一个字符串,如下所示:
我想用不同的值替换以下字符串:
我有下面的代码,但是,它似乎没有按预期进行:
python - 如何使用 urllib.request 获取文件的 url 列表?
目标输出
但我得到了这个
尝试此操作时收到此错误消息。
python - 从熊猫专栏中只找到一个世界
我有一个数据框,其中包含列中的 n-gram 字符串。我想找到只包含一个目标词的行。我怎样才能做到这一点?我试过这段代码:
df[df["column_name].str.match("targeted_word")]
。但这会给出该目标词之后或之前的所有值。我需要得到只有目标词的行。
提前致谢。