首先,我阅读文档如下
http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html
我希望找到任何标点字符,除了@',但我不太明白.
这是 :
public static void main( String[] args )
{
// String to be scanned to find the pattern.
String value = "#`~!#$%^";
String pattern = "\\p{Punct}[^@',&]";
// Create a Pattern object
Pattern r = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
// Now create matcher object.
Matcher m = r.matcher(value);
if (m.find()) {
System.out.println("Found value: " + m.groupCount());
} else {
System.out.println("NO MATCH");
}
}
Run Code Online (Sandbox Code Playgroud)
结果没有比赛.
有什么不匹配的吗?
谢谢
MRizq
如何使用Javascript检查我的数据字符串是否以标点符号开头?我查看了Check是否字符串是一个标点字符,以及如何知道字符串在jQuery中以特定字符串开头/结尾?和其他一些人,但我不知道我哪里出错了.
这是我到目前为止的一小部分:
var punctuations = [".", ",", ":", "!", "?"];
if (d.endContext.startsWith(punctuations)) {console.log(d.endContext)
} else {console.log('false')};
Run Code Online (Sandbox Code Playgroud)
我只获得'假'回报,但如果我传入"." 在
if(d.endContext.startsWith('.'))
...
Run Code Online (Sandbox Code Playgroud)
我得到了正确的结果.我也试过了
String punctuations = ".,:;?!"
Run Code Online (Sandbox Code Playgroud)
比如检查字符串是否是建议的标点字符,但Chrome和Firefox都给了我错误消息(分别为"未捕获的语法错误:意外的标识符"和"SyntaxError:missing; before statement").看起来这个错误通常是在Javascript中编写多行字符串,我认为我不想这样做.d.endContext将打印多行字符串,但是当我传递"."时它工作正常,所以我不认为这是问题所在.