正则表达式用于替换特定字符串
本文关键字:字符串 替换 用于 正则表达式 | 更新日期: 2023-09-27 18:12:31
我有一个如下格式的字符串:
tablename.colname > [[2 | prompt and text]] and tabname.colname < [[1000| prompt
or text]]
我需要将'[[]]'
中的文本替换为管道符号之前的值。现在,
i)我用AND和OR等逻辑运算符分割字符串(注意:这也分割了方括号内的'和',我真的不想要。)
ii)然后用数学运算符生成字符串。
谁能帮我找到一个正则表达式来查找双方括号之间的文本,并将其替换为管道符号之前的值…
管道前的值可以是整数或字符串。
像这样应该可以工作
resultString = Regex.Replace(subjectString, @"('['[)(.*?)'|(.*?)(']'])", "$1$2$4", RegexOptions.Multiline);
输入:[[2 | prompt and text]] and tabname.colname < [[1000| prompt or text]]
输出:[[2 ]] and tabname.colname < [[1000]]
搜索
'['[([a-zA-Z0-9]+) ?'|.*?']']
替换为
(1美元)点击这里查看
简要说明
'['[ - The starting [[
([a-zA-Z0-9]+) - Match any number of letters and digits (made a capturing group)
? - An optional space
'| - Pipe symbol
.*? - Match anything without been greedy
']'] - Closing ]]