我有一个python脚本,大概有100条左右的regex行,每行匹配某些单词.
显然,该脚本每次运行都会消耗高达100%的cpu(我基本上向其传递一个句子,它将返回找到的所有匹配单词).
我想将它们组合到大约4或5个不同的“已编译”正则表达式解析器中,例如:>>> words = ('hello', 'good\-bye', 'red', 'blue')
>>> pattern = re.compile('(' + '|'.join(words) + ')', re.IGNORECASE)我可以安全地使用几句话,这会有所作为吗?现在,如果我对一千个...
我已经写了一个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脚本崩溃并出现异常,并...
我有以下测试(格式如下):<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...
我一直在为以下字符串想出一个正则表达式:[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],.+\])+但是,那 .规则太笼统,最终会与整行匹配.有什么提示吗?解决方法:我不确定要尝试解析的数据格式以及它来自何处,但看起...
我有一个文件名列表: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']这是我...
我正在尝试匹配字符串中的多个子字符串.
感兴趣的区域的格式为: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']无论如何,我都无法匹配“ /”与“]”或“ /”之间的第二个数字.但是,我...
我想验证源字符串中存在的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)列出在源中找到的所...
我试图验证输入以查看其是否为有效的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 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 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模块ply.lex来编写词法分析器.我得到了一些用正则表达式指定的令牌,但现在我卡住了.我有一个应该是令牌的关键字列表. data是一个包含大约1000个关键字的列表,应该全部被识别为一种关键字.这可以是例如:_Function1 _UDFType2等等.列表中的所有单词都用空格分隔.我只是想让lexer识别出这个列表中的单词,这样它就会返回一个类型为`KEYWORD的标记.data = 'Keyword1 Keyword2 Keyword3 Keyword4'
def t_KEYWORD(t):# ....
我最近一直在编写程序,其中一部分需要我在字符串中获取信息.我需要找到有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)我知道这个信息在字符串中,但它一直给我“无”作为回应
(我不太确定代码部分是否格式正确,在预览中它显示为在同一行,但...
如何将某些文本转换为链接?回到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);我...
我遇到了这个有趣的案例.我不确定|的优先级运算符所以我最初使用非捕获组来分隔我的管道.但是,这导致匹配为“无”,删除捕获组也会导致“无”.但是,指定它们周围的单个捕获组是有效的.这对我来说很奇怪.我不太明白发生了什么.有任何想法吗?
此外,搜索适用于所有情况,正如我所期望的那样……re.match(r'^Details: WARNING|CRITICAL|ERROR', 'Details: CRITICAL asdfasdf')
None
re.match(r'^Details: (?:WARNING)|(?:CRITICAL)|(?:E...
我希望regEx匹配一些包含字母和数字字符的文本.但我不希望它只匹配alpha或数字.例如.在python中:s = '[mytaskid: 3fee46d2]: STARTED at processing job number 10022001'
# ^^^^^^^^ <- I want something that'll only match this part.
import re
rr = re.compile('([0-9a-z]{8})')
print 'sub=', rr.sub('########', s)
print 'findall=', rr.findall(s)生成以下输出:sub= [########: ########]: STARTED at ##...