我有这个字符串
出席名单
XXXXXX
US\abraham
EU\sarah
US \gerber
当我尝试使用-replace
时,它会替换插入方括号中的所有字符(包括第一行AttendanceList(
$attendance_new = $attendance -replace "[EU\]", "" -replace"[US\], ""
echo $attendance_new
AttandandLit
XXXXXX
abraham
arah
grbr
我希望得到这个样本输出(并可能在所有值之后连接一个字符串"_IN"(
出席列表
XXXXXX
abraham_IN
sarah_IN
gerber_IN
我是regex的新手,仍在努力找出特殊字符的regex代码
您可以使用
$attendance_new = $attendance -replace '(?m)^(?:US|EU)\(.*)', '$1_IN'
请参阅此演示(此处为.NET regex演示(详细信息:
(?m)
-多行选项,使^
能够匹配任何行位置的开始^
-线路启动(?:US|EU)
-EU
或US
\
-一个字符
(.*)
-第1组:换行符以外的任何零个或多个字符(注意如果开始得到奇怪的结果,您可能需要用([^rn]*)
替换它(