In Java 8, predicate is a functional interface that can be applied to lambda expressions and method references. Its abstract approach is simple:/** * Evaluates this predicate on the given argument. * * @param t the input argument * @return {@code true} if the input argument matches the predicate, *
code can do exactly what you need, but it's hard to convince developers to write code in this way! Fortunately, the lambda syntax of Java 8 provides the following implementations:private StreamWhat do you think? Or, is it possible to write a little bit simpler:private StreamYes, but Java
Java-11.4 Regular Expressions (3)-Pattern and Matcher
In this section, we will discuss Pattern and Matcher.
Previously, we used regular expressions to match strings. In fact, java provides a powerful regular expression matching class. We will illustrate it with several examples below.
package com.ray.ch11;import java.
OverviewA regular expression is a powerful string processing tool that enables you to find, extract, split, and replace strings.Several methods of the string class need to rely on support for regular expressions.
Method
Method description
Boolean matches (String regex)
Determines whether the string matches the specified regular expression
String ReplaceAll (string regex,string replacement)
R
); } m.appendtail (SB); System. out. println (Sb.tostring ()); }}The results of the above example compilation run as follows:-foo-foo-foo-Appendreplacement (StringBuffer SB, string replacement) replaces the current matching substring with the specified string, and adds the replaced substring and the string segment preceding it to the last matched substring to a StringBuffer object, and the Appendtail (StringBuffer sb) method adds the remaining string to a StringBuffer object after the last
Java support for regular expressions is mainly embodied in the string, Pattern, Matcher, and scanner classes.1.Pattern, MatcherLet's look at an example of using regular expressions with the pattern and Matcher classes. Public classPatterntest { Public Static voidmain (string [] args) {string teststring= "ABCABCABCDEFABC"; String [] Regexs=NewString []{"abc+", "(A
the efficiency of Java regular ExpressionsAs for the efficiency of regular expressions, I see two different results on the Internet, how efficient it is, and today I did a test with Java. The problem solved is simply to save the string from a string into a list with regular expressions like href= "[^\"]* ". A long stri
(); System.out.println (RS);}Common Regular Expressions
Rules
Regular expression syntax
One or more kanji
^[\u0391-\uffe5]+$
Zip code
^[1-9]\\d{5}$
QQ number
^[1-9]\\d{4,10}$
Mailbox
^[a-za-z_]{1,}[0-9]{0,}@ (([a-za-z0-9]-*) {1,}\\.) {1,3} [a-za-z\\-] {1,}$
User name (beginning with letter + number/letter/underscore)
^[a-za-z][a-za-z1-9_-
JAVA 65th-Regular Expressions
Regular Expression: It is mainly used in operation strings and is embodied by some specific symbols.
Example:
QQ number verification
6 ~ 9-digit, 0 cannot begin with, must be a number
The matches method in the String class
matches(String regex)Indicates whether the string matches the given regular expression.
Regex is the given regular expression.
Public static void checkQQ ()
The use of the Java expression is very convenient, basically only need to use the Java.util.regex package of two classes on the line, respectively, is the pattern and matcher.Pattern: The compiled representation of a regular expression, and the specified regular expression must first be compiled into an instance of this class before the Matcher object can be generated by matching characters.Matcher: Creates a character match through the pattern, which
In the project of data mining, I have to make use of the regular expressions to deal with the large amount of text in HTML.
I used regular expression in Linux (grep) before and find it quite an efficient way to deal with text, especially when their amount is very large.
Introduction
Regular ExpressionsAre a way to describe a set of strings based on common characteristics shared by each string in the set. they can be used to search, edit, or m
evaluated with other expressions as long as the return type satisfies the requirement.1, the return type of the assignment expression is the type of the variable being assigned, and the result is the value of the variable.2, the statement that defines the variable has no return type (void).3, the output statement does not have a return type.Example 1:int i=1;I= (i=i+ (i+ (i=2) +i) +i) +3+i;/*JVM Operation principle: I= (i=i+ (i+ (i=2) +i) +i) +3+i* i
= S.split (regex);L public string replaceall(string regex,string Replacement)//replace the string contents of the rule with the new stringExample: replacing numbers in text with *Code Demo:String s = "hello12345world6789012";String regex = "[0-9]";String result = S.replaceall (regex, "*");Regular expression ExercisesL MATCH the correct numberMatching rules:Match positive integer: "\\d+"Match positive decimals: "\\d+\\.\\d+"Match negative integer: "-\\d+"Match negative decimals: "-\\d+\\.\\d+"Ma
1. Use Regular Expressions in Java to determine whether the date format is correct
DateType. java:
/*** @ Title: DateType. java * @ Package: com. you. dao * @ Description: * @ Author: youhaidong * @ date: 10:54:50, January 1, March 8, 2014 * @ Version V1.2.3 */package com.
Regular expressions are a powerful and flexible text-processing tool. Using it, we can construct complex text patterns in a programmatic way, and search for input strings. Once you've found the parts that match these patterns, you'll be able to handle them as you please.About the regular expression of the syntax, the article on the internet is a lot of articles, really can not find, but also to view the Java
, but these are enough)II. application points (for courses)1. Whether the given string conforms to the filtering logic of the regular expression (i.e. "match");2. Use regular expressions to get the specific part you want from the string.Iii. Some simple examples (expressions)1. Match URL: [a-za-z]+://[^\s]*2.QQ (at least 5 digits, not starting with 0): [1-9][0-9]{4,}3.((HTTP|FTP|HTTPS)://) ([a-za-z0-9\._-]+
Introduction of functional interfaces to Java 8Adding lambda calculus to Java 8 is an exciting new feature. Although this feature comes too late, the current mainstream development languages, JAVA seems to be the last language that supports functional thinking. Although it i
'? ': 0 times or 1 time' {n} ': Match n times' {n, m} ': Match N-m times
For example, if 999-88789-9800, the regular expression is [0-9] {3} \-[0-9] {5} \-[0-9] {4 }, if 999887899800 is correct, you can change it to [0-9] {3 }\-? [0-9] {5 }\-? [0-9] {4}
Some quick symbols
\ D: [0-9] \ D: [^ 0-9] \ W: [A-Z0-9] \ W [^ A-Z0-9] \ s: [\ t \ n \ r \ f] \ s: [^ \ t \ n \ r \ F]
Therefore, we can change [0-9] {3} \-[0-9] {5} \-[0-9] {4}: \ D {3} \-\ D {5} \-\ D {4}
Below we will use some simple exampl
it supports bananas, oranges, integers, or string lists! Public Interface Predicate { boolean Test (T-t);} Public static p) { listnew arraylist(); for (T e:list) { if(P.test (e)) { result.add (e); } } return result; }Test:List. Equals (Apple.getcolor ())); System.out.println (greenapple); List); System.out.println (evennumbers);Handsome, not handsome? You now find the best balance between flexibility and indirection
;/* Boundary Match ^ line end \b Word boundary word edit match only represents the beginning or end of a word, does not match any character \b non-word boundary \a input beginning \g last match \z output The end of the entry, only for the last terminator (if any) \z the end of the input */public class Demo5 {public static void main (string[] args) {System.out.printlN ("Hello World", Matches ("hello\\b World"); }}packagecom.fish.regex;importjava.util.regex.matcher;importjava.util.regex.pattern;/*
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.