吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1194|回复: 8
收起左侧

[求助] 正则表达式,匹配特定字符之间的内容

  [复制链接]
cqwcns 发表于 2022-11-2 18:00
目标字符是:<actionId>20433451</actionId>
需要获得的结果是:20433451


我一直无法掌握正则表达式,虽然很简单,但我尝试利用某度搜到的例子来套改,但还是无法实现我的需求。
小白,请各位大佬指教,感谢。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

平淡最真 发表于 2022-11-2 18:07
(?<=<actionId>)\d+(?=</actionId>)

免费评分

参与人数 1吾爱币 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

猛浪若奔 发表于 2022-11-2 18:09
JS:
"<actionId>20433451</actionId>".replace(/\D/g, '')

免费评分

参与人数 1吾爱币 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

平淡最真 发表于 2022-11-2 18:12
中间如果不全是数字的话把\d+ 换成.*?

免费评分

参与人数 1热心值 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

甜萝 发表于 2022-11-2 18:22
本帖最后由 paypojie 于 2022-11-2 19:02 编辑

image.png

python代码
[Python] 纯文本查看 复制代码
# <actionId>20433451</actionId>
import re
r = re.compile(r'\d+')
# r =re.compile(r'[0-9]+') # 这行代码可以替换上一行代码 一样的效果
m = r.search('<actionId>20433451</actionId>')
print(m.group())

免费评分

参与人数 1吾爱币 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

笨笨家的唯一 发表于 2022-11-2 18:56
如果匹配中间的你可以写【/<a.*?d>(.*?)</】; 【<a.*?d>】的意思时匹配【<ad> <a1d> <aaad>】之类的,然后后面【>(.*?)<】表示匹配满足前面条件的字符串
ysjd22 发表于 2022-11-2 18:57
用环视。有的叫什么断言。(?>=)(?=)

免费评分

参与人数 1热心值 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

hfxiang 发表于 2022-11-2 21:05
这个与使用的应用有关,并且相互间不一定兼容。如用awk,则可把<actionId>20433451</actionId>保存为1.txt,如下方式可提取,并且单awk都还可以更多:
D:\test>awk "{print gensub(/^<.+>(.+)<.+>$/,\"\\1\",\"g\")}" 1.txt
20433451
D:\test>awk -F"[<>]+" "{print $3}" 1.txt
20433451

免费评分

参与人数 1热心值 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

小小超 发表于 2022-11-3 15:48
sed 's/<actionld>(.*)<\/actionld>/\1/'

免费评分

参与人数 1吾爱币 +1 收起 理由
cqwcns + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 05:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表