Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex powershell中带下划线的同一单词_Regex_String_Powershell - Fatal编程技术网

Regex powershell中带下划线的同一单词

Regex powershell中带下划线的同一单词,regex,string,powershell,Regex,String,Powershell,我有两个用下划线分隔的表达式。我不能创建一个正则表达式来区分它们 例如: "S_Macdo" -match "^S(?<NAME>[a-zA-Z]*)" “S_Macdo”-匹配“^S(?[a-zA-Z]*)” ->Macdo->OK "S_Macdo_Fries" -match "^S(?<NAME>[a-zA-Z]*)" “S_Macdo_Fries”-匹配“^S(?[a-zA-Z]*)” ->Macdo->NOK-我需要吃Macdo_薯条 谢谢您可以使用 ^

我有两个用下划线分隔的表达式。我不能创建一个正则表达式来区分它们

例如:

"S_Macdo" -match "^S(?<NAME>[a-zA-Z]*)"
“S_Macdo”-匹配“^S(?[a-zA-Z]*)”
->Macdo->OK

"S_Macdo_Fries" -match "^S(?<NAME>[a-zA-Z]*)"
“S_Macdo_Fries”-匹配“^S(?[a-zA-Z]*)”
->Macdo->NOK-我需要吃Macdo_薯条

谢谢

您可以使用

^S_(?<NAME>[a-zA-Z_]*)
^S_u(?[a-zA-Z_uz]*)

详细信息

  • ^
    -字符串的开头
  • S
    -文字子字符串
  • (?[a-zA-Z!]*)
    -捕获0个或多个ASCII字母或下划线字符的组“名称”
您可以使用

^S_(?<NAME>[a-zA-Z_]*)
^S_u(?[a-zA-Z_uz]*)

详细信息

  • ^
    -字符串的开头
  • S
    -文字子字符串
  • (?[a-zA-Z!]*)
    -捕获0个或多个ASCII字母或下划线字符的组“名称”

试试
^S_u(?[a-zA-Z]*)
。你是故意删除下划线的吗?效果很好。非常感谢!是的,我故意删除了第一个下划线。我想知道类似于
“S\u Word\u MORE.split(“\u”,2)[1]
这样的东西是否对您有帮助。如果始终有下划线,则格式是固定的,可能更简单。请尝试
^S_(?[a-zA-Z_399;]*)
。你是故意删除下划线的吗?效果很好。非常感谢!是的,我故意删除了第一个下划线。我想知道类似于
“S\u Word\u MORE.split(“\u”,2)[1]
这样的东西是否对您有帮助。如果始终有下划线,则格式是固定的,可能更简单。感谢您的帮助,默认情况下使用powershells操作符的解释是多余的。(+1)@LotPings没错,这只是一种习惯的力量,需要与其他环境保持一致。如果你需要在另一个.NET环境中使用它。我知道你知道。。。这只是为了避免混淆,
[a-z_]
[a-z_]
[a-zA-z_]
都有相同的结果。感谢您的帮助,默认情况下,powershells操作员对
[a-zA-z_]
的解释是多余的。(+1)@LotPings没错,这只是一种习惯的力量,需要与其他环境保持一致。如果你需要在另一个.NET环境中使用它。我知道你知道。。。这只是为了避免混淆,
[a-z\u]
[a-z\u]
[a-zA-z\u]
都有相同的结果。