我正在尝试用常规表达式替换字符串中的某些内容,但没有成功。
我正在尝试替换任何出现的[
后跟8个字符并以]
例如[F2283D02]
用空格替换。
我认为您正在查看十六进制字符串,因此您的正则表达式将是
\[[0-9A-F]{8}\]
^ ^ escapes required as [ and ] are regex-metacharacters
string result = Regex.Replace(input, @"\[[^\]]{8}\]", "");
[ 寻找开头的 '['
[^]]{8} 查找不是 ']' 的 8 个连续字符
] 寻找结束的 ']'
string input = "Replace [fbzdkdf] with empty";
input = Regex.Replace(input, @"\[\w{8}\]","");
Console.WriteLine(input);
输出:替换为空
解释
[ :反斜杠在正则表达式中转义了肉字符 [ 。
\w{8}:匹配任意 8 个字符。
] : 转义元字符 ]
不要忘记使用
using System.Text.RegularExpressions;
你试过什么?你试过dis:
(?<=\[).{8}(?=\])
一些解释:
.{8}
- 任何类型的八个字符
(?<=\[)
和(?=\])
- 我们寻找被 '[]' 包围的字符,但我们不需要找到括号本身,只需要知道这些字符是否在括号中