cuốn sách gpt4 ai đã làm

java - 为什么 "hello\\s*world"与 "hello world"不匹配?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:12:19 33 4
mua khóa gpt4 Nike

Tại sao mã này lại đưa ra ngoại lệ inputMismatchException?

Máy quét máy quét = Máy quét mới ("xin chào thế giới");
System.out.println(scanner.next("hello\\s*world"));

Biểu thức chính quy tương tự có trong http://regexpal.com/ Kết hợp trung bình (sử dụng \s thay vì \\s)

câu trả lời hay nhất

Ngược lại với trình so khớp, máy quét có mã thông báo chuỗi tích hợp và dấu phân cách mặc định là khoảng trắng. Vì vậy, "hello world" của bạn được mã hóa thành "hello" "world" trước khi trò chơi bắt đầu. Đây sẽ là kết quả khớp nếu bạn thay đổi dấu phân cách trước khi quét sang nội dung nào đó không có trong chuỗi, ví dụ:

Máy quét máy quét = Máy quét mới ("xin chào thế giới");
scanner.useDelimiter(://);
System.out.println(scanner.next("hello\\s*world"));

Nhưng đối với trường hợp của bạn, có vẻ như bạn chỉ nên sử dụng Máy diêm.

Đây là ví dụ về việc sử dụng máy quét "như mong đợi":

   Máy quét máy quét = Máy quét mới("xin chào,thế giới,chúc ngủ ngon,mặt trăng");
scanner.useDelimiter(",");
trong khi (máy quét.hasNext()) {
System.out.println(scanner.next("\\w*"));
}

Đầu ra là

hello
thế giới
Chúc ngủ ngon
mặt trăng

Giới thiệu về java - Tại sao "hello\\s*world" không khớp với "hello world"? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/6309776/

33 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress