如果匹配模式,我想用#13#10替换大字符串中所有字符@的字符.
但是如何得到我的模式'[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]'的值在我的替代领域?
pattern := '@' + '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]' + '\$';
replacement := #13#10 + '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]' + '\$';
ts.Text := TRegEx.Replace(AString, pattern, replacement, [roIgnoreCase]);
Run Code Online (Sandbox Code Playgroud)
Rob*_*bin 16
要执行检查,您可以使用积极的前瞻:
pattern := '@(?=[0-9]{7}\$)'
replacement := #13#10
Run Code Online (Sandbox Code Playgroud)
该(?=...)会检查@后跟你想要什么,而不会选择这些后续数字.
你可以这样做:
TRegEx.Replace(s, '@([0-9]{7}\$)', #13#10+'\1')
Run Code Online (Sandbox Code Playgroud)
要打破它:
[0-9]{7} 表示7次出现的数字.(...)用于捕获7位数字和$.\1替换字符串扩展到捕获的字符串.虽然罗宾的方法更好!
| 归档时间: |
|
| 查看次数: |
5518 次 |
| 最近记录: |