我有一个字符串。该字符串可以包含空格,拉丁字符和符号$。
示例:tert ertert$sdfsdf
但是,符号$必须只包含字符,而不是空格。
好字符串:"teststring$sdfsdf"
字符串错误:"test $sdfsdf"
错误的字符串"test $ string"
如何为此字符串制作正则表达式?
谢谢
答案 0 :(得分:2)
不确定您需要使用哪种语言,但这可以/\s+\$|\$\s+/
与“错误”方案匹配。
逻辑是
\s+ //at least one space
\$ //follow by a dollar sign
| // or
\$ //dollar sign
\s+ followed by at least one space
所以,如果这是Java,它看起来像:
myString.matches("\\s+\\$|\\$\\s+")
在Perl中,它将是:
if(myString =~ m/\s+\$|\$\s+/){
//found bad example
}
我建议更具体地询问一个语言示例,因为这些因素在使用中会有所不同。
此外,本网站上的人们倾向于认为您应该在来到这里寻求帮助之前尝试自己解决这个问题。所以,如果你想避免看到关于你已经尝试过什么的讽刺评论,那么你应该提供失败的尝试,以此作为对任务的力量的牺牲:)。只是询问“我该怎么做”确实让人回答“我从哪里开始......你已经知道什么,你到底在哪里等等”。