【Python RegEx – 如何处理字符串中的可选部分】教程文章相关的互联网学习教程文章

python 基础 8.0 regex 正则表达式--常用的正则表达式【图】

一. python 中常用的正则表达式 二. 正则表达式的网站,可以进行在线正则匹配https://regex101.com/ 1. 使用方法及正则介绍1》 ‘.’ 匹配任意除换行符外(\n)的任意字符 ‘*’ 匹配前一个字符0次或任意多次2》\b 匹配数字0-9 3》\D 匹配非数字 [^\b] 4》\s 匹配空格字符 5》 \S 匹配非空白字符 [^\s]* 6> \w 匹配单词字符 [a-z] [A-Z][0-9] 7> \W 匹配非单词字符 [^\w] 9 )* 匹配前一个字符0次或无限次 10》...

python -regex匹配单词列表【代码】

我有一个python脚本,大概有100条左右的regex行,每行匹配某些单词. 显然,该脚本每次运行都会消耗高达100%的cpu(我基本上向其传递一个句子,它将返回找到的所有匹配单词). 我想将它们组合到大约4或5个不同的“已编译”正则表达式解析器中,例如:>>> words = ('hello', 'good\-bye', 'red', 'blue') >>> pattern = re.compile('(' + '|'.join(words) + ')', re.IGNORECASE)我可以安全地使用几句话,这会有所作为吗?现在,如果我对一千个...

python re.search regex-如何在字符串的最后4位数字中搜索值【代码】

我已经写了一个python脚本(我的第一个),该脚本接受字符串的输入,然后使用re.search从字符串创建组以供以后使用. 输入字符串如下所示:NSC_sdiakjfean=ffffffff3c19594d45525d5f4f58455e445a4a423660我当前正在使用的re.search是:s = re.search('NSC_([a-zA-Z0-9\-\_\.]*)=[0-9a-f]{8}([0-9a-f]{8})[0-9a-f]{24}([0-9a-f]{4})',name)我发现的问题是,有时我要使用的输入缺少此部分[0-9a-f] {24},因此我的python脚本崩溃并出现异常,并...

python-RegEx获取具有换行符的两个字符串之间的字符串【代码】

我有以下测试(格式如下):<td scope="row" align="left">My Class: TEST DATA<br>Test Section: <br>MY SECTION<br>MY SECTION 2<br></td>我正在尝试获取“测试部分:”和“我的部分”之后的文本 我用不同的RegEx模式进行了几次尝试,但结果一无所获. 如果我做:(?<=Test)(.*?)(?=<br)然后,我得到以下正确的响应:' Section: '但是,如果我这样做(?<=Test)(.*?)(?=</td>)我没有结果.结果应为“我的第二节” 我也尝试过使用RegEx Mult...

Python RegEx匹配每个方括号元素【代码】

我一直在为以下字符串想出一个正则表达式:[1,null,"7. Mai 2017"],[2,"test","8. Mai 2018"],[3,"test","9. Mai 2019"]我正在尝试将每个括号及其内容作为单个内容作为匹配输出输出,如下所示:[1,null,"7. Mai 2017"] [2,"test","8. Mai 2018"] [3,"test","9. Mai 2019"]我最初的天真方法是这样的:(\[[^d],.+\])+但是,那 .规则太笼统,最终会与整行匹配.有什么提示吗?解决方法:我不确定要尝试解析的数据格式以及它来自何处,但看起...

python-为什么使用re.search(r’regex’).group()进行短路不能全部短路【代码】

我有一个文件名列表:a = ['data_1-0.hamster.raw','data_0-0.hamster.raw','data_9-1.hamster.raw','data_2-0.hamster.raw','data_0-1.hamster.raw','data_0-10.hamster.raw','data_0-2.hamster.raw']我想对这个列表进行排序,以便得到以下输出:a = ['data_0-0.hamster.raw','data_0-1.hamster.raw','data_0-2.hamster.raw','data_0-10.hamster.raw','data_1-0.hamster.raw','data_2-0.hamster.raw','data_9-1.hamster.raw']这是我...

Python Regex布尔值“或”未选择所有匹配项【代码】

我正在尝试匹配字符串中的多个子字符串. 感兴趣的区域的格式为:Sample1: "text text text[One]" Sample2:"text text text[One/Two]" Sample3:"text text text[One/Two/Three]"我正在尝试通过正则表达式以下列方式获取数字列表:numbers = re.findall('(\[|\/)(\w+)(\/|\])', str)但是,group2产生:#Sample1 ['One'] #Sample2 ['One'] #Sample3 ['One','Three']无论如何,我都无法匹配“ /”与“]”或“ /”之间的第二个数字.但是,我...

使用Python中的regex匹配两个字符串中的HTML标签【代码】

我想验证源字符串中存在的HTML标签也存在于目标字符串中. 例如:>> source = '<em>Hello</em><label>What's your name</label>' >> verify_target(’<em>Hi</em><label>My name is Jim</label>') True >> verify_target('<label>My name is Jim</label><em>Hi</em>') True >> verify_target('<em>Hi<label>My name is Jim</label></em>') False解决方法:我会放弃正则表达式,然后查看Beautiful Soup.findAll(True)列出在源中找到的所...

python IP验证REGex验证全部和部分IP【代码】

我试图验证输入以查看其是否为有效的IP地址(可以是部分IP地址). 可接受的输入:172,172.112,172.112.113,172.112.113.114 不能接受的输入:1724,172.11113等 这是我创建的用于对其进行检查的函数(但是它会验证无法接受的输入,例如1724,我似乎无法修复..请帮助)def ipcheck(ip):ippattern_str = '(([1-2]?[\d]{1,2}\.?){0,1}(\.[1-2]?[\d]{1,2}){0,1}(\.[1-2]?[\d]{1,2}\.){0,1}(([1-2]?[\d]{1,2}[\D\W]*)'ippattern = re.compile(i...

python regex findall和multiline【代码】

python 2.6.8s= ''' foo bar baz ''' >>>re.findall(r'^\S*',s,re.MULTILINE) ['', 'foo', 'bar', 'baz', ''] >>>ptrn = re.compile(r'^\S*',re.MULTILINE) >>>ptrn.findall(s) ['', 'foo', 'bar', 'baz', ''] >>>ptrn.findall(s,re.MULTILINE) ['baz', '']为什么在findall中使用MULTILINE标志有区别?解决方法:在regex对象上调用findall()方法时,第二个参数不是flags参数(因为在编译正则表达式时已经使用过)而是pos参数,告诉正则...

Python – 用于将文本拆分为句子的RegEx(句子标记化)【代码】

参见英文答案 > Python split text on sentences 10个我想从一个字符串中创建一个句子列表然后将它们打印出来.我不想用NLTK来做这件事.因此,它需要在句子末尾的句点分割,而不是在小数,缩写或名称的标题上,或者如果句子有.com这是尝试正则表达式不起作用.import retext = """Mr. Smith bought cheapsite.com for 1.5 million dollars, i.e. he paid a lot for it. Did he mind? Adam Jones Jr. ...

python – 包含可变数据的RegEx – ply.lex【代码】

我正在使用python模块ply.lex来编写词法分析器.我得到了一些用正则表达式指定的令牌,但现在我卡住了.我有一个应该是令牌的关键字列表. data是一个包含大约1000个关键字的列表,应该全部被识别为一种关键字.这可以是例如:_Function1 _UDFType2等等.列表中的所有单词都用空格分隔.我只是想让lexer识别出这个列表中的单词,这样它就会返回一个类型为`KEYWORD的标记.data = 'Keyword1 Keyword2 Keyword3 Keyword4' def t_KEYWORD(t):# ....

python – 使用RegEx查找1个字母和2个数字【代码】

我最近一直在编写程序,其中一部分需要我在字符串中获取信息.我需要找到有1个字母的地方,紧接着是2个数字(例如S07),我无法找到它的RegEx.def get_season(filenames):pattern = "^[a-zA-z]{1}[\d]{2}$"found = re.search(filenames[0], pattern)season_name = found.stringseason = season_name[1:3]print(season)我知道这个信息在字符串中,但它一直给我“无”作为回应 (我不太确定代码部分是否格式正确,在预览中它显示为在同一行,但...

在python中使用regex将链接替换为链接【代码】

如何将某些文本转换为链接?回到PHP,我使用了一段适用于我的目的的代码:$text = preg_replace("#(^|[\n ])(([\w]+?://[\w\#$%&~.\-;:=,?@\[\]+]*)(/[\w\#$%&~/.\-;:=,?@\[\]+]*)?)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\3</a>", $text);$text = preg_replace("#(^|[\n ])(((www|ftp)\.[\w\#$%&~.\-;:=,?@\[\]+]*)(/[\w\#$%&~/.\-;:=,?@\[\]+]*)?)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\3</a>", $text);我...

Python / Regex / Match / Search混乱【代码】

我遇到了这个有趣的案例.我不确定|的优先级运算符所以我最初使用非捕获组来分隔我的管道.但是,这导致匹配为“无”,删除捕获组也会导致“无”.但是,指定它们周围的单个捕获组是有效的.这对我来说很奇怪.我不太明白发生了什么.有任何想法吗? 此外,搜索适用于所有情况,正如我所期望的那样……re.match(r'^Details: WARNING|CRITICAL|ERROR', 'Details: CRITICAL asdfasdf') None re.match(r'^Details: (?:WARNING)|(?:CRITICAL)|(?:E...