Regex 如何选择除空格以外的任何符号后面的数字
如何选择除空格以外的任何符号后面的数字Regex 如何选择除空格以外的任何符号后面的数字,regex,Regex,如何选择除空格以外的任何符号后面的数字 word23 #3 *9 @user82 但不要选择这个 123 具有负向后看的表达式(?匹配“b而不是前面有a”,因此在您的情况下 (?<![\s\d])\d+ (? \d+表示“一个或多个十进制数字的序列”。[\s\d]表示“空格字符或数字”,包括空格、制表符等 您没有指定正在使用的语言/引擎,因此我没有使用lookaround断言,而是使用了一个组构造来模拟实际lookaround的行为 (?:^|[^\s\d])(\d+) 是否
word23
#3
*9
@user82
但不要选择这个
123
具有负向后看的表达式(?匹配“b
而不是前面有a
”,因此在您的情况下
(?<![\s\d])\d+
(?
\d+
表示“一个或多个十进制数字的序列”。[\s\d]
表示“空格字符或数字”,包括空格、制表符等
您没有指定正在使用的语言/引擎,因此我没有使用lookaround断言,而是使用了一个组构造来模拟实际lookaround的行为
(?:^|[^\s\d])(\d+)
是否有空格或实际空格?@hwnd我犯了一个错误并编辑了问题谢谢,但这会在数字之前重新选择一个符号。我只需要一个数字,第二个答案中的RE正好符合我的需要。是的,前面的符号不是问题,因为您的匹配结果存储在捕获组\1
中,我如何才能得到这个s存储结果?我在Sublime Text Find&Replace Func中使用此RE,因为您之前没有指定“是”以仅在Sublime中选择数字,您需要替换字符串并引用组或使用查找,即(^ |[^\s\d])\K\d+