Các .
trận đấu bất kỳ biểu tượng mà là một dòng mới. để làm cho nó phù hợp với một dòng mới, trong hầu hết các ngôn ngữ có một modifier (dotall , singleline). Tuy nhiên, trong JS, không có trình sửa đổi nào như vậy.
Do đó, công việc xung quanh là sử dụng một lớp nhân vật [\s\S]
khớp với bất kỳ ký tự nào, kể cả dòng mới, vì \s
sẽ khớp với tất cả khoảng trắng và \S
sẽ khớp với tất cả các ký tự không khoảng trắng. Tương tự, người ta có thể sử dụng [\d\D]
hoặc [\w\W]
.
Ngoài ra, có một mẫu [^]
để khớp với cùng một thứ trong JS, nhưng vì nó là JavaScript cụ thể, các regex có chứa mẫu này không di động giữa các hương vị regex.
+?
Bộ quan sát lười phù hợp với 1 hoặc nhiều ký hiệu phù hợp với mẫu con trước đó, nhưng ít nhất có thể. Do đó, nó sẽ chỉ khớp với 1 biểu tượng nếu được sử dụng như thế này, ở cuối mẫu.
Nguồn
2015-09-11 22:34:21
vì dấu chấm không khớp với ký tự dòng mới '\ n' –