我正在寻找一个解决方案: 我想将特定文本替换为其他格式化字符串
实施例。
从标签中选择*,其中col类似于'%
ab-de
%' =>从标签中选择* 其中regexp(col,'ab-de
(| $ | \。\:)')从标签中选择*,其中col类似于'%
9-01
%' =>从标签中选择* 其中regexp(col,'9-01
(| $ | \。\:)'
所以在这里,基本上我想在%ab-de or 9-01
%
x
)
=>需要在regexp第二个参数中放置完全相同的字符串。 (regexp(col, 'x( |$|\.\: )'
我知道必须有某种方法来完成这项工作 - 但无法弄清楚如何完成。
在记事本++或Excel或其他编辑器中使用正则表达式或某些宏
答案 0 :(得分:1)
使用Notepad ++:
(\w+)\s+like\s+'%(.+?)%'
REGEXP\($1,'$2\( |$|\\.\\:\)'\)
注意:必须在替换部件中转义括号
我猜你想要替换部分( |$|\.|\:)
,所以:
替换为:REGEXP\($1,'$2\([\\ .\\:]|$\)'\)
完成工作
<强>解释
( : Start capture group 1
\w+ : 1 or more alphanum or _ (ie. word character)
) : end group
\s+ : 1 or more spaces
like : literally the word like
\s+ : 1 or more spaces
' : literally a single quote
% : literally a percent sign
( : Start capture group 2
.+? : 1 or more any character
) : end group
% : literally a percent sign
' : literally a single quote
替换部分:
REGEXP : literally
\( : opening parenthesis
$1 : content of group 1, here the name of the column
, : a comma
'$2' : content of group 2, here what is between % and %
, : a comma
\( : opening parenthesis
[ .:]|$ : literally [ .:]|$, that represent in the resulting regex a space or a dot or a colon or end of line
\) : closing parenthesis
\) : closing parenthesis