regex - 从另一个正则表达式模式中提取模式中的字符串:REGEX (Replace, Extract $1)
问题描述
如何从另一个正则表达式模式中提取模式中的字符串示例:
REGEXREPLACE("Ex.: <a;b;c;> e <d;e;>.","<(.*?)>","($1)...")
要得到
Ex: (a)(b)(c) e (d)(e).
解决方案
建议:
您可以尝试嵌套REGEXREPLACE
函数,然后SUBSTITUTE
在最后使用如下示例:
=SUBSTITUTE(REGEXREPLACE
(REGEXREPLACE
(REGEXREPLACE
("<a;b;c;> e <d;e;>.", "<(.*?)>", "($1)"),
"[^a-z()> .a-z]", ")*("),
"[^a-z()> .a-z]",""),
"()","")
示例演示
样本字符串在单元格上
A2
这个怎么运作:
- 使用你原来的正则表达式:
例如放置在单元格上
A2
=REGEXREPLACE("<a;b;c;> e <d;e;>.", "<(.*?)>", "($1)")
结果:
(a;b;c;) e (d;e;).
- 替换
;
为)*(
:
=REGEXREPLACE(A2, "[^a-z()> .a-z]", ")*(")
结果:
(a)*(b)*(c)*() e (d)*(e)*().
- 删除星号(*)符号:
=REGEXREPLACE(B2,"[^a-z()> .a-z]","")
结果:
(a)(b)(c)() e (d)(e)().
()
使用[SUBSTITUTE][2]
函数替换空:
=SUBSTITUTE(C2,"()","")
结果:
(a)(b)(c) e (d)(e).
参考:
推荐阅读
- css - 我可以扩展外部 scss 规则而不将其包含在输出中吗?
- c - 从文件中读取参数并创建文件名
- java - Glide 从 URl 加载图像
- java - 我可以像在 Java 中那样在 C++ 中进行类型转换/提升吗?
- go - 如何使用 Google Drive API(v3) 获取目录中所有文件的列表
- ios - SWIFT:如何使用 FBSDKShareKit 在 Facebook 上分享多张照片或视频?
- c# - 如何将数字评估为可能的组合
- audio - 对 RMS 值求和
- reactjs - 如何在反应类组件中使用 graphql useStaticQuery
- json - 使用 Groovy 解析 JSON,其中数组和多个对象没有名称以获取列表