+,:;=?@#|]/; if(elem.match(regex)) { // do something } to find...">

Regex to search for special characters in Java

I can use

var regex = /[$&+,:;=?@#|]/;

if(elem.match(regex)) { // do something 
}

to find out if there are any special characters in a string in Javascript.

How can I use a similar regular expression in Java?

I tried:

str.match("\\="); // return false

For instance:

String str = "123=456";

I tried to detect "=" in str.

This did not work. What am I doing wrong?

+5
source share
4 answers

Try it.

Pattern regex = Pattern.compile("[$&+,:;=?@#|]");
Matcher matcher = regex.matcher("123=456");
if (matcher.find()){
    // Do something
}

EDIT: matches()checks the entire string and find()finds it in any part of the string.

Link: http://docs.oracle.com/javase/tutorial/essential/regex/index.html

+15
source

Use String.matches () . Read Javadocs for supported syntax.

+2
source

String.matches(String regex);
0

:

import java.lang.Scanner;
/*setup everything here, you just need that import*/
Scanner input = new Scanner(System.in);
//ask for input
String str = input.next();
if(str.contains(/*char1*/) || str.contains(/*char2*/) || /*continue the pattern, 1 for every character*/)
{
    //event if it contains one
}
else
{
    //event if it does not contain any
}

:

import java.lang.Scanner;
/*put the program parts here*/
Scanner input = new Scanner(System.in);
String str = input.next();
List<char> chars = Arrays.asList(/*put chars here, seperated with commas*/);
for(int x = 0; x < chars.size();x++)
{
    if(str.contains(chars[x]))
    {
        //event if it contains one
    }
    else
    {
        //event if it does not contain one
    }
}
//resume program

, .

-3
source

All Articles