ここではJavaでコーディングしています。
任意の数字または文字列に一致する正規表現が
"(0|[1-9][0-9]*)(\\.[0-9]+)?|[a-zA-Z]+"
しかし、文字または数字以外のもの、つまり次のような記号に一致させたい!, @, +, -
やってみましたがうまくいき[^.. ]
ません。
たとえば、逆のことをしたいとしましょう。つまり、数字または文字または @ の文字列を含む文字列のすべての部分を返します。
public ArrayList<String> findMatch(String string){
ArrayList <String> outputArr = new ArrayList<String>();
Pattern p = Pattern.compile("(0|[1-9][0-9]*)(\\.[0-9]+)?|[a-zA-Z]+|\\@");
// recognizes number, string, and @
Matcher m = p.matcher(string)
while (m.find()) {
outputArr.add(m.group());
}
return outputArr;
}
上記のコードの反対を見つけたいとしましょう。どうすれば3行目を変更できますか?