我正在尝试在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
所以我面临着一个挑战——找到一个字符串中最长的字母字符串。例如,“abcghiijkyxz”应该导致“ghiijk”(是的,i加倍)。我一直在使用循环来解决这个问题——遍历整个字符串,然后针对每个字符,使用lower和ord开始第二个循环。编写该循环不需要任何帮助。但是,有人向我建议Regex非常适合这类事情。我的正则表达式很弱(我知道如何获取静态集,我的前瞻性知识扩展到知道它们存在)。我将如何编写一个Regex来向前看,并检查future的字符是否按字母顺序排列?或者使用Regex的建议对这类事情不切实际?编辑:普遍的共识似乎是正则表达式对于这类事情来说确实很糟糕。
我与Czech一起工作Python3.4中的重音文本。调用re.sub()用正则表达式对重音句子进行替换效果很好,但使用用re.compile()编译的正则表达式然后调用regex.sub()失败。在这种情况下,我对re.sub()使用相同的参数和regex.sub()importrepattern=r'(?我相信原因是重音,因为对于一个没有重音的句子re.sub()和regex.sub()工作相同。但在我看来这像是一个错误,因为传递相同的参数会返回不同的结果,这是不应该发生的。本主题因不同的平台和语言环境而变得复杂,因此它可能无法在您的系统上重现。这是我的控制台的屏幕截图。您是否发现
如果一个字符串包含*SUBJECT123,在python中如何判断该字符串中是否包含subject? 最佳答案 if"subject"inmystring.lower():#dosomething 关于regex-Python字符串匹配,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3351218/
我在Django中有一个类似这样的长url模式:url(r'^(?i)top-dir/(?P[-\w]+?)/(?P[-\w]+?)/(?P[-\w]+?).html/$','apps.Discussion.views.pricing',肯定它不遵循PEP8指南,因为字符在一行中超过80个。我找到了两种解决方法:第一个(使用反斜杠):url(r'^(?i)top-dir/(?P[-\w]+?)/(?P[-\w]+?)'\'/(?P[-\w]+?).html/$','apps.Discussion.views.pricing',第二个-使用():url((r'^(?i)top-dir/(
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Reversingaregularexpressioninpython我想我遇到了一个听起来比实际更容易的问题……我不太确定。我想定义一个正则表达式,我想构建一些匹配它的字符串。有没有我可以导入的具有此功能的模块?最好不要使用re.search或re.match的蛮力方法。必须有一种更优雅的方法来做到这一点。
以下输入字段在Chrome和FF中完全有效,但在IE11中仅部分有效。使用8个字符的BIC测试代码始终适用于任何浏览器。用11个字符测试它会在IE中产生错误。当前安装版本:11.0.9600.17959,更新版本:11.0.22例子:6个字符在所有浏览器中均有效:RBOSGGSX11个字符在除IE之外的所有浏览器中均有效:GENODEF1S04问题:IE中是否存在错误(可能)?在IE中使用正则表达式是否存在已知限制?我是否犯了Chrome和FF忽略的错误?Google唯一发现的是type='number'与^[0-9]*$的“问题”。http://www.w3.org/TR/2011/
我正在编写一个正则表达式(regex),用于在具有以下条件的输入框中添加多个电子邮件ID:多个电子邮件ID必须用逗号分隔,需要至少有一个电子邮件ID输入字段中不应有任何空格。所以我创建了这个正则表达式:^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([,.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$我在regex101.com上对其进行了测试,它的工作非常顺利https://regex101.com/r/bU
我有一个HTML5模式,非常适合以下格式的电话号码:111-222-33331112223333(777)-888-9999(777)888-9999但是如果用户输入(777-999-9999它通过了验证。理想情况下,我希望这会引发错误,因为括号显然没有关闭。这是我的模式:pattern="^\(?\d{3}\)?[-]?\d{3}[-]?\d{4}$"关于我做错了什么的任何想法?在这个问题上我已经用头撞墙好几个小时了。谢谢! 最佳答案 两个括号的可选性是相互独立的。使用交替:pattern="(?:\(\d{3}\)|\d{3})
我目前正在用ionic2(Angular2)编写一个简单的表单。我想知道如何添加一个简单的regularexpression验证模式:我基本上有这个:{{label.msisdn}}{{label.requestActivationCode}}正在拾取最大长度、最小长度和所需的长度(如果不满足条件,则禁用该按钮)。现在我想将输入限制为数字,并在其前面加上06(荷兰电话号码的最小数量)。然而,该模式并未在验证中被拾取。我可以这样做吗,还是需要代码方法? 最佳答案 将模式添加到变量varpattern=/06([0-9]{8})/;并将