Biểu thức chính quy được sử dụng để tìm kiếm văn bản và thao tác văn bản nâng cao hơn. 10 Ví dụ về Cụm từ Thông dụng trong Java Hữu ích

Bạn đang xem: ví dụ về biểu thức java

Trong bài đăng này, chúng ta sẽ xem xét 10 ví dụ về biểu thức chính quy Java hữu ích.

Java có API tích hợp để làm việc với biểu thức chính quy; nó nằm trong gói java.util.regex.

6. Java Regex để đối sánh bất kỳ Ví dụ về ký hiệu tiền tệ nào

1. Biểu thức chính quy đơn giản trong Java

Trong ví dụ, chúng ta có mười từ trong một danh sách. Chúng tôi kiểm tra những từ nào khớp với cụm từ thông dụng

.even

.

 

package

net.javaguides.corejava.regex

;

import

java.util.Arrays

;

import

java.util.List

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaRegexExample

{

public

static

void

main

(

Chuỗi

[]

args

) {

Danh sách

& lt;

Chuỗi

& gt;

words

=

Mảng

.

asList (

"

Một

"

,

"

Hai

"

,

"

Ba

"

,

"

Bốn

"

,

"

Năm

"

,

"

Sáu

"

,

"

Bảy

"

,

"

Maven

"

,

" Amen

"

,

"

11

"

);

Mẫu

p

=

Mẫu

.

biên dịch (

"

.even

"

);

for

(

Chuỗi

word

:

words) {

Matcher

m

=

p

.

matcher (word );

if

(m

.

khớp ()) {

Hệ thống

.

ra

.

printf (

"

% s - & gt; khớp với% n

"

, từ); }

else

{

Hệ thống

.

ra

.

printf (

"

% s - & gt; không khớp% n

"

, từ); } } } }

Đầu ra:

  One - & gt; không phù hợp với
Hai - & gt; không phù hợp với
Ba - & gt; không phù hợp với
Bốn - & gt; không phù hợp với
Năm - & gt; không phù hợp với
Sáu - & gt; không phù hợp với
Bảy - & gt; diêm
Maven - & gt; không phù hợp với
Amen - & gt; không phù hợp với
mười một - & gt; không phù hợp với
 

Chúng tôi biên dịch mẫu. Dấu siêu ký tự (.) là viết tắt của bất kỳ ký tự đơn nào trong văn bản.

2. Ví dụ về Java Alp vàumeric Regex

Ví dụ Java này trình bày cách viết một biểu thức chính quy để xác thực thông tin nhập của người dùng theo cách mà nó chỉ cho phép các ký tự chữ và số. Các ký tự chữ và số là tất cả các bảng chữ cái và số, tức là các chữ cái A – Z , a – z và các chữ số 0–9 .

 

package

net.javaguides.corejava.regex

;

import

java.util.ArrayList

;

import

java.util.List

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaAlphanumericRegex

{

public

static

void

main

(

Chuỗi

[]

args

) {

Danh sách

& lt;

Chuỗi

& gt;

tên

=

mới

ArrayList

& lt;

Chuỗi

& gt; (); tên

.

add (

"

JavaGuides

"

); tên

.

add (

"

JavaGuides123

"

); tên

.

add (

"

JavaGuides ----- / ///

"

);

//

Không chính xác

Chuỗi

regex

=

"

^ [a-zA-Z0-9] + $

"

;

Mẫu

mẫu

=

Mẫu

.

biên dịch (regex);

for

(

Chuỗi

name

:

tên) {

Matcher

matcher

=

pattern

.

matcher (tên );

Hệ thống

.

ra

.

println (matcher < p class = "pl-k">.

khớp ()); } } }

Đầu ra:

  true
thật
sai  

3. Java Regex Anchors

Neo khớp với vị trí của các ký tự bên trong một văn bản nhất định. Trong ví dụ tiếp theo, chúng ta xem liệu một chuỗi có nằm ở đầu câu hay không.

Trong ví dụ dưới đây, chúng ta có ba câu. Mẫu tìm kiếm là

^ Prabhas

. Mẫu kiểm tra xem chuỗi “ Prabhas ” có nằm ở đầu văn bản hay không.

Prabhas. $

sẽ tìm “ Prabhas ” ở cuối câu.

 

package

net.javaguides.corejava.regex

;

import

java.util.Arrays

;

import

java.util.List

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaRegexAnchorExample

{

public

static

void

main

(

Chuỗi

[]

args

) {

Danh sách

& lt;

Chuỗi

& gt;

câu

=

Mảng

.

asList (

"

Tôi đang tìm Prabhas

"

,

"

Prabhas là một Diễn viên

"

,

"

Mahesh và Prabhas là bạn thân

"

);

Mẫu

p

=

Mẫu

.

biên dịch (

"

^ Prabhas

"

);

for

(

String

word

:

câu) {

Matcher

m

=

p

.

matcher (word );

if

(m

.

find ()) {

Hệ thống

.

ra

.

printf (

"

% s - & gt; khớp với% n

"

, từ); }

else

{

Hệ thống

.

ra

.

printf (

"

% s - & gt; không khớp% n

"

, từ); } } } }

Đầu ra:

  Tôi đang tìm tiếng Prabhas - & gt; không phù hợp với
Prabhas là một Diễn viên - & gt; diêm
Mahesh và Prabhas là bạn thân - & gt; không khớp  

4. Các thay thế Java Regex

Toán tử thay thế | cho phép tạo một biểu thức chính quy với một số lựa chọn.

 

package

net.javaguides.corejava.regex

;

import

java.util.Arrays

;

import

java.util.List

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaRegexAlternation

{

public

static

void

main

(

Chuỗi

[]

args

) {

Danh sách

& lt;

Chuỗi

& gt;

người dùng

=

Mảng

.

asList (

"

Ramesh

"

,

"

Tom

"

,

"

Tony

"

,

"

Rocky

"

,

"

John

"

,

"

Prabhas

"

);

Mẫu

p

=

Mẫu

.

biên dịch (

"

Ramesh | Tom | Prabhas | Rocky

"

);

cho

(

Chuỗi

người dùng

:

người dùng) {

Matcher

m

=

p

.

matcher (người dùng );

if

(m

.

khớp ()) {

Hệ thống

.

ra

.

printf (

"

% s - & gt; khớp với% n

"

, người sử dụng); }

else

{

Hệ thống

.

ra

.

printf (

"

% s - & gt; không khớp% n

"

, người dùng); } } } }

Đầu ra:

  Ramesh - & gt; diêm
Tom - & gt; diêm
Tony - & gt; không phù hợp với
Rocky - & gt; diêm
John - & gt; không phù hợp với
Prabhas - & gt; phù hợp với  

5. Xác thực số điện thoại biểu thức chính quy

Việc xác thực số điện thoại bằng biểu thức chính quy rất khó vì số điện thoại có thể được viết ở nhiều định dạng và cũng có thể có phần mở rộng.

Ví dụ: đây là một số cách viết số điện thoại phổ biến:

1234567890

123-456-7890

123-456-7890 x1234

123-456-7890 máy lẻ1234

(123) -456-7890

123,456,7890

123 456 7890

Đây là chương trình Java để trình bày cách sử dụng biểu thức chính quy để xác thực số điện thoại:

 

package

net.javaguides.corejava.regex

;

public

class

CheckPhoneExample

{

public

static

void

main

(

Chuỗi

[]

args

) {

Hệ thống

.

ra

.

println (

"

Số điện thoại 1234567890 Kết quả xác thực:

"

+

validatePhoneNumber (

"

1234567890

"

));

Hệ thống

.

ra

.

println (

"

Số điện thoại 123-456-7890 Kết quả xác thực:

"

+

validatePhoneNumber (

"

123-456-7890 < p class = "pl-pds"> "

));

Hệ thống

.

ra

.

println (

"

Số điện thoại 123-456-7890 x1234 kết quả xác thực:

"

+

xác thực Số điện thoại (

"

123-456 -7890 x1234

"

));

Hệ thống

.

ra

.

println (

"

Số điện thoại 123-456-7890 kết quả xác thực ext1234:

"

+

xác thực Số điện thoại (

"

123-456 -7890 ext1234

"

));

Hệ thống

.

ra

.

println (

"

Số điện thoại (123) -456-7890 kết quả xác thực:

"

+

validatePhoneNumber (

"

(123) - 456-7890

"

));

Hệ thống

.

ra

.

println (

"

Số điện thoại 123.456.7890 Kết quả xác thực:

"

+

validatePhoneNumber (

"

123.456.7890

"

));

Hệ thống

.

ra

.

println (

"

Số điện thoại 123 456 7890 Kết quả xác thực:

"

+

validatePhoneNumber (

"

123 456 7890

"

)); }

private

static

boolean

validatePhoneNumber

(

String

phoneNo

) {

//

xác thực số điện thoại có định dạng "1234567890"

if

(phoneNo

.

phù hợp (

"

\\

d {10}

"

))

return

true

;

//

xác thực số điện thoại bằng -,. hoặc dấu cách

else

if

(phoneNo

.

khớp (< p class = "pl-s">

"

\\

d {3} [-

\\

.

\\

s]

\\

d {3 } [-

\\

.

\\

s]

\\

d {4}

"

))

return

true

;

//

xác thực số điện thoại có độ dài phần mở rộng từ 3 đến 5

else

if

(phoneNo

.

khớp (< p class = "pl-s">

"

\\

d {3} -

\\

d {3} -

\\

d {4}

\\ s (x | (ext))

\\

d {3,5}

"

))

return

true

;

//

xác thực số điện thoại có mã vùng trong dấu ngoặc nhọn ()

else

if

(phoneNo

.

khớp (< p class = "pl-s">

"

\\

(

\\

d {3}

\\

) -

\\

d {3} -

\\

d {4}

"

))

return

true

;

//

trả về false nếu không có gì khớp với đầu vào

khác

return

false

; } }

Đầu ra:

  Số điện thoại 1234567890 kết quả xác thực: true
Số điện thoại 123-456-7890 kết quả xác thực: true
Số điện thoại 123-456-7890 x1234 kết quả xác thực: true
Số điện thoại 123-456-7890 kết quả xác thực máy lẻ1234: true
Số điện thoại (123) -456-7890 kết quả xác thực: true
Số điện thoại 123.456.7890 kết quả xác thực: true
Số điện thoại 123 456 7890 kết quả xác thực: true  

6. Java Regex để đối sánh bất kỳ Ví dụ về ký hiệu tiền tệ nào

Ví dụ về Java Regex này trình bày cách đối sánh tất cả các ký hiệu tiền tệ có sẵn, ví dụ: $ Dollar, € Euro, ¥ Yen, trong một số nội dung văn bản.

 

package

net.javaguides.corejava.regex

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaRegexCurrencySymbol

{

public

static

void

main

(

Chuỗi

[]

args

) {

Chuỗi

content

=

"

Hãy tìm các ký hiệu hoặc đơn vị tiền tệ: $ Dollar, € Euro, ¥ Yen

"

;

Chuỗi

regex

=

"

\\

p {Sc}

"

;

Mẫu

mẫu

=

Mẫu

.

biên dịch (regex,

Mẫu

.

CASE_INSENSITIVE

);

Matcher

matcher

=

pattern

.

matcher (content );

while

(matcher

.

find ()) {

Hệ thống

.

ra

.

print (

"

Bắt đầu lập chỉ mục:

"

+

.

start ());

Hệ thống

.

ra

.

print (

"

Chỉ mục cuối:

"

+

trình đối sánh

.

end ()

+

"

"

);

Hệ thống

.

ra

.

println (

"

:

"

+

đối sánh

.

group ()); } } }

Đầu ra:

  Chỉ mục bắt đầu: 39 Chỉ mục kết thúc: 40: $
Chỉ số bắt đầu: 49 Chỉ số kết thúc: 50: €
Chỉ số bắt đầu: 57 Chỉ số kết thúc: 58: ¥  

7. Các nhóm bắt Java Regex

Kỹ thuật của nhóm bắt cho phép chúng tôi tìm ra những phần của chuỗi khớp với mẫu thông thường. Phương thức group () của mather trả về dãy con đầu vào được nhóm đã cho nắm bắt trong thao tác khớp trước đó.

Ví dụ này in tất cả các thẻ HTML từ chuỗi được cung cấp bằng cách chụp một nhóm ký tự.

 

package

net.javaguides.corejava.regex

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaRegexGroups

{

public

static

void

main

(

Chuỗi

[]

args

) {

Chuỗi

content

=

"

& lt; p & gt; & lt; code & gt; Pattern & lt; / code & gt; là

"

+

"

biểu diễn một biểu thức chính quy. & lt; / p & gt;

"

;

Mẫu

p

=

Mẫu

.

biên dịch (

"

(& lt; /? [a-z] * & gt;)

"

);

Matcher

matcher

=

p

.

matcher (content );

while

(matcher

.

find ()) {

Hệ thống

.

ra

.

println (matcher < p class = "pl-k">.

group (

1

)); } } }

Đầu ra:

  & lt; p & gt;
& lt; mã & gt;
& lt; / mã & gt;
& lt; / p & gt;  

8. Biểu thức chính quy không phân biệt chữ hoa chữ thường trong Java

Bằng cách đặt cờ

Pattern.CASE_INSENSITIVE

, chúng tôi có thể có đối sánh không phân biệt chữ hoa chữ thường.

Ví dụ này thực hiện đối sánh không phân biệt chữ hoa chữ thường của biểu thức chính quy.

 

package

net.javaguides.corejava.regex

;

import

java.util.Arrays

;

import

java.util.List

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaRegexCaseInsensitive

{

public

static

void

main

(

Chuỗi

[]

args

) {

Danh sách

& lt;

Chuỗi

& gt;

người dùng

=

Mảng

.

asList (

"

dog

"

,

"

Con chó

"

,

"

CHÓ

"

,

"

Doggy

"

);

Mẫu

p

=

Mẫu

.

biên dịch (

"

dog

"

,

Mẫu

.

CASE_INSENSITIVE

); người dùng

.

forEach ((người dùng)

-

& gt; {

Matcher

m

=

p

.

matcher (người dùng );

if

(m

.

khớp ()) {

Hệ thống

.

ra

.

printf (

"

% s khớp với% n

"

, người dùng) ; }

else

{

Hệ thống

.

ra

.

printf (

"

% s không khớp với% n

"

, người sử dụng); } }); } }

Đầu ra:

  phù hợp với chó
Trận đấu chó
Trận đấu DOG
Doggy không khớp  

9. Ví dụ về email Java Regex

Trong ví dụ sau, chúng tôi tạo một mẫu regex để kiểm tra địa chỉ email. Ví dụ này chỉ cung cấp một giải pháp khả thi.

 

package

net.javaguides.corejava.regex

;

import

java.util.Arrays

;

import

java.util.List

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

JavaRegexEmail

{

public

static

void

main

(

Chuỗi

[]

args

) {

Danh sách

& lt;

Chuỗi

=

Mảng

.

asList (

"

ramesh@gmail.com

"

,

"

tom @ yahoocom

"

,

"

34234sdfa # 2345

"

,

"

tony@gmail.com

"

);

Chuỗi

regex

=

"

^ [a-zA-Z0-9 ._-] + @ [a-zA-Z0-9 -] +

\\

. [ a-zA-Z.] {2,18} $

"

;

Mẫu

p

=

Mẫu

.

biên dịch (regex);

cho

(

Chuỗi

email

:

email) {

Đối sánh

m

=

p

.

Người đối sánh (email );

if

(m

.

khớp ()) {

Hệ thống

.

ra

.

printf (

"

% s khớp với% n

"

, email) ; }

else

{

Hệ thống

.

ra

.

printf (

"

% s không khớp với% n

"

, e-mail); } } } }

Đầu ra:

  ramesh@gmail.com phù hợp
tom @ yahoocom không khớp
34234sdfa # 2345 không khớp
tony@gmail.com phù hợp với  

10. Java Regex để kiểm tra độ dài tối thiểu / tối đa của văn bản đầu vào

Biểu thức chính quy sau đây đảm bảo rằng văn bản có độ dài từ 1 đến 10 ký tự và cũng giới hạn văn bản ở các chữ cái viết hoa A – Z. Bạn có thể sửa đổi biểu thức chính quy để cho phép bất kỳ độ dài văn bản tối thiểu hoặc tối đa nào hoặc cho phép các ký tự khác A – Z.

 

package

net.javaguides.corejava.regex

;

import

java.util.ArrayList

;

import

java.util.List

;

import

java.util.regex.Matcher

;

import

java.util.regex.Pattern

;

public

class

RegexMinMaxLength

{

public

static

void

main

(

Chuỗi

[]

args

) {

Danh sách

& lt;

Chuỗi

& gt;

tên

=

mới

ArrayList

& lt;

Chuỗi

& gt; (); tên

.

add (

"

RAMESH

"

); tên

.

add (

"

JAVAGUIDES

"

); tên

.

add (

"

RAMESHJAVAGUIDES

"

);

//

Không chính xác

tên

.

add (

"

RAMESH890

"

);

//

Không chính xác

Chuỗi

regex

=

"

^ [A-Z] {1.10} $

"

;

Mẫu

mẫu

=

Mẫu

.

biên dịch (regex);

for

(

Chuỗi

name

:

tên) {

Matcher

matcher

=

pattern

.

matcher (tên );

Hệ thống

.

ra

.

println (matcher < p class = "pl-k">.

khớp ()); } } }

Đầu ra:

  true
thật
sai
sai  


Xem thêm những thông tin liên quan đến chủ đề ví dụ về biểu thức chính quy java

#MOB1014 – Java 1 – Slide 6: Chuỗi Và Biểu Thức Chính Quy

  • Tác giả: OMG! Ông Mười Giáo
  • Ngày đăng: 2022-02-09
  • Đánh giá: 4 ⭐ ( 8756 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: omg! share4you-qbchannel. Cảm ơn bạn đăng ký: https://goo.gl/27223b

Java Regular Expression Tutorial

  • Tác giả: ngockhuong.com
  • Đánh giá: 5 ⭐ ( 5393 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Java Regular Expression Tutorial, Loạt Các bài viết hướng dẫn về biểu thức chính quy trong Java, Ví dụ mẫu về biểu thức chính quy hay sử dụng

BIỂU THỨC CHÍNH QUY TRONG JAVA

  • Tác giả: vi.ichlese.at
  • Đánh giá: 3 ⭐ ( 2246 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Java Regex là một API được sử dụng để xác định một mẫu để tìm kiếm hoặc thao tác các chuỗi. Bài viết này cũng sẽ nói về các lớp Biểu thức chính quy khác nhau được cung cấp bởi Java.

Toàn tập về biểu thức chính quy RegEx trong Javascript

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 7731 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài này chúng ta sẽ tìm hiểu đến chuỗi và cách sử dụng biểu thức chính quy (Regular Expression) để xử lý chuỗi nâng cao, đây là phương pháp xử lý chuôi phức.

Java: Giới thiệu biểu thức chính quy

  • Tác giả: v1study.com
  • Đánh giá: 3 ⭐ ( 1097 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Biểu thức chính quy là một cách để mô tả một tập các chuỗi dựa trên những đặc điểm chung được chia sẻ bởi mỗi chuỗi trong tập đó. Biểu thức chính quy có

Hướng dẫn sử dụng biểu thức chính quy (Regular Expression) trong Java

  • Tác giả: gpcoder.com
  • Đánh giá: 5 ⭐ ( 3766 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn lập trình Java, Design Pattern, Spring, JSF, Primefaces, Collection, Multi-thread, Webservice, SQL, Report, Apache POI.

[Tự học Java] Biểu thức lambda trong Java

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 8736 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết này, bạn sẽ được tìm hiểu về tính năng mới được đưa vào Java 8, đó là việc hỗ trợ cho việc biểu thức lambda sử dụng giao diện hàm số.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Giới thiệu về Gấu trúc bằng Python - sử dụng gấu trúc trong trăn

By ads_php