0

请看下面的例子,我只需要保留那些由 RA 继承的字符:在所有行上,我需要删除直到 RA 的所有值:

例如 FP: 0x33A173D0, RA: 0x947BD1C 应该产生我 0x947BD1C 这些字符的模式通常是相同的,它们以 FP: 开头,两个空格,后跟十六进制值,然后是逗号,两个空格,然后是 RA:我对正则表达式非常陌生,因为我在工作中反复执行此操作,有人建议我通过正则表达式执行此操作,但他们不知道如何..我也不知道。所以我在这里寻求帮助

FP: 0x33A173D0, RA: 0x947BD1C
FP: 0x33A173F0, RA: 0x895AA8C
FP: 0x33A17400, RA: 0x8934DD0
FP: 0x33A17430, RA: 0xA3C6990
FP: 0x33A17438, RA: 0xA3C6C10
FP: 0x33A17448, RA: 0xA3C6F4C
FP: 0x33A17480, RA: 0xA68769C
FP: 0x33A17498, RA: 0xA8097A4
FP: 0x33A174F8, RA: 0x9DE4410
FP: 0x33A17528, RA: 0x8E01CD8
FP: 0x33A17548, RA: 0x8E02D1C
FP: 0x33A17560, RA: 0x8E0497C
4

4 回答 4

0

尝试:

^(.*?RA: )

并用空字符串替换匹配的组。或匹配:

^.*?RA: (.*)$

得到你的最终内容。

于 2012-09-10T06:34:44.943 回答
0

Python 示例:

result = re.sub(r"(?m)^.*,\s*RA:\s*", "", subject)

解释:

(?m)    # Multiline mode
^       # Match start of line
.*      # Match any number of characters
,\s*    # Match a comma, followed by optional whitespace
RA:\s*  # Match "RA:", followed by optional whitespace
于 2012-09-10T06:35:12.833 回答
0

我假设您正在逐行阅读这些值,然后您可以使用

.*RA:\s*(.*)$

并替换为

$1

在 Regexr 上查看

于 2012-09-10T06:36:03.927 回答
0

在支持 REGEX 的文本编辑器(如 vim、UltraEdit)中,找到

FP: +0x[0-9A-F]+, +RA: +(0x[0-9A-F]+)

用。。。来代替

$1

或在一些特殊的编辑器(如 Crimson Editor、EditPlus)中应替换为

\1
于 2012-09-10T06:36:34.547 回答