Regex 正则表达式匹配字符串中的美元

Regex 正则表达式匹配字符串中的美元,regex,perl,Regex,Perl,我想匹配value:后面的所有内容,包括单词、hypen、下划线和美元符号 比如: 或 或者简单一点: Value: ACDF 我该如何支付美元标志? 我的正则表达式除美元符号外有效: m/Value:(\s+|\t+)([a-zA-z_-]*)/ 你说你想匹配所有东西,为什么不干脆*?否则,您可以只在角色类中包含$: m/Value:(\s+)([a-zA-Z_$-]*)/ 请注意,\t包含在\s中。您没有指定dorrar符号吗 m/Value:(\s+)([\w$-]*)/

我想匹配value:后面的所有内容,包括单词、hypen、下划线和美元符号

比如:

或者简单一点:

Value:      ACDF
我该如何支付美元标志? 我的正则表达式除美元符号外有效:

m/Value:(\s+|\t+)([a-zA-z_-]*)/
你说你想匹配所有东西,为什么不干脆
*
?否则,您可以只在角色类中包含
$

m/Value:(\s+)([a-zA-Z_$-]*)/

请注意,
\t
包含在
\s

中。您没有指定dorrar符号吗

m/Value:(\s+)([\w$-]*)/

只需使用任意字符

m/Value:\s*(.*)/
如果要使用字符类,只需转义美元符号和破折号,即文字:

m/Value:\s*([a-zA-Z_\-\$]*)/
为什么不只是:

m/Value:\s*(\S+)/

将匹配零个或多个空白字符(不需要\t,\s包括制表符),然后是一个或多个可提取的非空白字符

我已经试过了,但是它使用perl返回了一个错误,它在正则表达式中表示无效的[]范围“-5”;标记为我也看到了这个,我不知道,我尝试运行这个:如果(m/Value:(\s+\t+)([a-zA-Z\$-]*)/){print“$2”}我已经尝试过转义,但这返回了一个错误:regex中的无效[]范围“-\$”;标记为转义破折号,该破折号也是文字,或者将其放在字符类的末尾。是!这使它可以工作:m/Value:(\s+\t+)([a-zA-z\-\$]*)/这是最后一个:m/Value:\s*([0-9a-zA-z\-\$]*)/原始正则表达式中没有包含数字。然后可以利用
\w
字符类使正则表达式稍微短一点:
m/Value:\s*([\w\-\$]*)/
m/Value:\s*([a-zA-Z_\-\$]*)/
m/Value:\s*(\S+)/