gpt4 book ai didi

java - 在正则表达式中排除空格,但保留下划线和连字符

转载 作者:行者123 更新时间:2023-11-29 08:36:03 24 4
gpt4 key购买 nike

我有一个由“$”分隔的变量,可以包含任何顺序的点、连字符和下划线,但不能有空格。实际上我的正则表达式是:

"\\$(.*?)\\$"

但它不适用于这种情况,例如:

I loose 12$ but you loose 25$

结果是“$ but you loose 25$”。

我也尝试过:

"\\$\\w+\\$"

但是现在,它不适用于连字符

添加更多详细信息:

我只想匹配带有 0 个或多个点-下划线-连字符的表达式:

$test_underscore$

$test-hyphen$

$test$

$test_test2-test3$

$test.test2-test3$

如果像我的第一个例子那样有空格就什么都没有

最佳答案

您可以使用否定字符类来匹配除空格和美元之外的任何字符:

"\\$[^\\s$]+\\$"

这里,\$ 匹配一个文字美元符号,它后面可以跟一个或多个除空格和美元符号之外的符号,然后跟另一个美元符号。

要仅匹配美元之间的字符、点和连字符,请使用白名单方法:

"\\$[\\w.-]+\\$"

关于java - 在正则表达式中排除空格,但保留下划线和连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44042909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com