Word boundary là gì?

Phrase Programming

(\b) là một anchor giống như caret (^) và ký hiệu đô la ($). Nó khớp (match) với một vị trí được gọi là "word boundary". Word boundary match là zero-length.

Ba vị trí sau đây đủ điều kiện làm word character:

  • Trước ký tự (character) đầu tiên trong chuỗi (string) nếu ký tự đầu tiên là ký tự từ (word character).
  • Sau ký tự cuối cùng trong một chuỗi nếu ký tự cuối cùng là một ký tự từ (word character).
  • Giữa hai ký tự trong một chuỗi nếu một ký tự là từ và ký tự kia không phải là ký tự từ (non-word character).

Ví dụ trong chuỗi Hello, JS! các vị trí sau đủ điều kiện làm word boundary:

Ví dụ sau trong ngôn ngữ Javascript trả về 'JS' vì 'Hello, JS!' khớp với biểu thức chính quy (regular expression) /\bJS\b/:


console.log('Hello, JS!'.match(/\bJS\b/)); // true
//--Output--
//["JS"]

Tuy nhiên, 'Hello, JScript' không khớp với /\bJS\b/:


console.log('Hello, JSscript!'.match(/\bJS\b/)); // null

Lưu ý rằng nếu không có \b, /JS/ khớp với cả 'Hello, JS' và 'Hello, JScript':


console.log('Hello, JSscript!'.match(/JS/)); // ["JS"]
console.log('Hello, JS!'.match(/JS/)); // ["JS"]

Learning English Everyday