草庐IT

menta-regex

全部标签

regex - 我以一种效率低下的方式使用 Python 正则表达式

我的目标是创建一种非常简单的模板语言。目前,我正在努力用一个值替换一个变量,如下所示:这个输入:TheWeb应该产生这个输出:TheWebThisIsATestVariable我已经开始工作了。但是看看我的代码,我在相同的字符串上运行多个相同的正则表达式——这只会冒犯我的效率意识。必须有更好、更Pythonic的方式。(真正令人反感的是两个“while”循环。)这确实通过了单元测试,所以如果这是愚蠢的过早优化,请告诉我——我愿意放弃它。一个文档中可能有几十个这样的变量定义和使用,但不会有数百个。但我怀疑(对其他人而言)有明显的改进方法,我很好奇StackOverflow的人群会想出什么

c# - Regex 可以用于这个特定的字符串操作吗?

我需要将字符串中的字符(比如)x替换为字符(比如)P,但前提是它包含在带引号的子字符串中。举个例子更清楚:axbx'cxdxe'fxgh'ixj'k->axbx'cPdPe'fxgh'iPj'k为了简单起见,我们假设引号总是成对出现。最明显的方法是一次只处理一个字符串(一种简单的状态机方法);但是,我想知道是否可以使用正则表达式一次性完成所有处理。我的目标语言是C#,但我想我的问题与任何具有对正则表达式的内置或库支持的语言有关。 最佳答案 我将GregHewgill的python代码转换为C#并且成功了![Test]publicvo

Python Regex 转义运算符\in 替换和原始字符串

我不理解python正则表达式中scape运算符\与原始字符串r'一起运行的逻辑。感谢您提供一些帮助。代码:importretext='esto.es10.er-12.23with[and.Other]hereismore;puntuation'print('text0=',text)text1=re.sub(r'(\s+)([;:\.\-])',r'\2',text)text2=re.sub(r'\s+\.','\.',text)text3=re.sub(r'\s+\.',r'\.',text)print('text1=',text1)print('text2=',text2)pri

python - 使用 Regex 引用组内组

我正在尝试找到一个正则表达式,该正则表达式将以两个相同符号结尾的单词分组,后跟“ter”并将其拆分为两个符号。示例:单词“Letter”应分为“Let”和“ter”。我正在使用python,这是我到目前为止所得到的:match=re.search(r'(\w*)((\w)\1(er$))',str)printmatch.group(1)#shouldprint'Let'printmatch.group(2)#shouldprint'ter'问题是(\w)\1没有指代正确的组,因为它是组中的组。这是怎么解决的?提前致谢。 最佳答案 我

Python regex\w 不匹配组合变音符号?

我有一个带有组合变音符号的UTF8字符串。我想将它与\w正则表达式序列匹配。它匹配带有重音符号的字符,但如果存在带有组合变音符号的拉丁字符则不匹配。>>>re.match("a\w\w\wz",u"aoooz",re.UNICODE)>>>printu"ao\u00F3oz"aoóoz>>>re.match("a\w\w\wz",u"ao\u00F3oz",re.UNICODE)>>>re.match("a\w\w\wz",u"aoo\u0301oz",re.UNICODE)>>>printu"aoo\u0301oz"aóooz(看起来SOmarkdown处理器在处理上面的组合变音符

regex - 使用正则表达式选择 numpy 数组中的元素

可以如下选择numpy数组中的元素a=np.random.rand(100)sel=a>0.5#selectelementsthataregreaterthan0.5a[sel]=0#dosomethingwiththeselectionb=np.array(list('abcabcabc'))b[b==a]='A'#convertallthea'stoA'snp.where函数使用此属性来检索索引:indices=np.where(a>0.9)我想做的是能够在这种元素选择中使用正则表达式。例如,如果我想从上面的b中选择匹配[Aab]正则表达式的元素,我需要编写以下代码:regexp=

python - 如何在 Python 中实现冗长的 REGEX

我正在尝试在Python(2.7)中使用冗长的正则表达式。如果这很重要,我只是想让它更容易返回并在未来的某个时候更清楚地理解表达。因为我是新手,所以我首先创建了一个紧凑的表达式以确保我得到了我想要的。这里是简洁的表达式:test_verbose_item_pattern=re.compile('\n{1}\b?I[tT][eE][mM]\s+\d{1,2}\.?\(?[a-e]?\)?.*[^0-9]\n{1}')它按预期工作这是详细的表达方式verbose_item_pattern=re.compile("""\n{1}#beginwithanewlineallowonlyonene

python - 如何使用 Regex 使用 Python 查找按字母顺序排列的字符串?

所以我面临着一个挑战——找到一个字符串中最长的字母字符串。例如,“abcghiijkyxz”应该导致“ghiijk”(是的,i加倍)。我一直在使用循环来解决这个问题——遍历整个字符串,然后针对每个字符,使用lower和ord开始第二个循环。编写该循环不需要任何帮助。但是,有人向我建议Regex非常适合这类事情。我的正则表达式很弱(我知道如何获取静态集,我的前瞻性知识扩展到知道它们存在)。我将如何编写一个Regex来向前看,并检查future的字符是否按字母顺序排列?或者使用Regex的建议对这类事情不切实际?编辑:普遍的共识似乎是正则表达式对于这类事情来说确实很糟糕。

python - regex.sub() 给出与 re.sub() 不同的结果

我与Czech一起工作Python3.4中的重音文本。调用re.sub()用正则表达式对重音句子进行替换效果很好,但使用用re.compile()编译的正则表达式然后调用regex.sub()失败。在这种情况下,我对re.sub()使用相同的参数和regex.sub()importrepattern=r'(?我相信原因是重音,因为对于一个没有重音的句子re.sub()和regex.sub()工作相同。但在我看来这像是一个错误,因为传递相同的参数会返回不同的结果,这是不应该发生的。本主题因不同的平台和语言环境而变得复杂,因此它可能无法在您的系统上重现。这是我的控制台的屏幕截图。您是否发现

regex - Python字符串匹配

如果一个字符串包含*SUBJECT123,在python中如何判断该字符串中是否包含subject? 最佳答案 if"subject"inmystring.lower():#dosomething 关于regex-Python字符串匹配,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3351218/