Java Regular expressions supports 3 logical operators they are −
XY: X followed by Y
X|Y: X or Y
(X): capturing group.
XY: X followed by Y
This simply matches two single consecutive characters.
Example
Live Demo
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(system.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "am"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); if (matcher.find()) { System.out.println("Match occurred"); } else { System.out.println("Match not occurred"); } } }
Output 1
的中文翻译为:输出 1
Enter input text: sample text Match occurred
Output 2
Enter input text: hello how are you Match not occurred
X|Y
This matches either of the two expressions/characters surrounding "|"
Example
Live Demo
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main( String args[] ) { String regex = "Hello|welcome"; String input = "Hello how are you welcome to Tutorialspoint"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); int count = 0; while(matcher.find()) { count++; } System.out.println("Number of matches: "+count); } }
输出
Number of matches: 2
(X): 捕获组
捕获组允许您将多个字符视为一个单元。您只需将这些字符放在一对括号中即可。
示例
实时演示
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CapturingGroups { public static void main( String args[] ) { System.out.println("Enter input text"); Scanner sc = new Scanner(system.in); String input = sc.nextLine(); String regex = "(.*)(\d+)(.*)"; //Create a Pattern object Pattern pattern = Pattern.compile(regex); //Now create matcher object. Matcher matcher = pattern.matcher(input); if (matcher.find( )) { System.out.println("Found value: " + matcher.group(0) ); System.out.println("Found value: " + matcher.group(1) ); System.out.println("Found value: " + matcher.group(2) ); System.out.println("Found value: " + matcher.group(3) ); } else { System.out.println("NO MATCH"); } } }
输出
Enter input text sample data with 1234 (digits) in middle Found value: sample data with 1234 (digits) in middle Found value: sample data with 123 Found value: 4 Found value: (digits) in middle
以上就是Java正则表达式逻辑运算符的详细内容,更多请关注编程之家其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。