python finditer在r语言中的功能?

2024-09-29 17:45:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python程序员,我想在r中使用正则表达式,但我想在r语言中使用^{}的功能,而不是findall,我想使用每个值,比如:

如果我有一个文件包含:

<LayerDepth Units="mm" Count="4" value1="141" value2="241" value3="1104" value4="1492" value444="898" LastModified="6/11/2012"

如果我用这段代码:

import re
pattern='(value\d.+?)"(\d.+?)"'
with open("file1.txt",'r') as f:
    match=re.finditer(pattern,f.read())
    for i in match:
        print(i.group())

输出为:

value1="141"
value2="241"
value3="1104"
value4="1492"
value444="898"

我想在r中使用相同的功能,如何实现这一点?你知道吗


Tags: 文件功能re语言match程序员patternunits
1条回答
网友
1楼 · 发布于 2024-09-29 17:45:54

我们可以将gregexpr与以下模式一起使用:

(value\d+="\d+")

然后,使用输出为gregexprregmatches从输入字符串中获得实际匹配。你知道吗

x <- c("<LayerDepth Units=\"mm\" Count=\"4\" value1=\"141\" value2=\"241\" value3=\"1104\" value4=\"1492\" value444=\"898\" LastModified=\"6/11/2012\" Now")
m <- gregexpr("(value\\d+=\"\\d+\")", x)
regmatches(x, m)
[[1]]
[1] "value1=\"141\""   "value2=\"241\""   "value3=\"1104\""  "value4=\"1492\"" 
[5] "value444=\"898\""

Demo

相关问题 更多 >

    热门问题