我知道美元符号用于匹配字符串末尾的字符,以确保搜索不会停留在字符串的中间,而是继续直到字符串的结尾.
但它如何处理换行符,它是否恰好在新行字符之前匹配,还是将其考虑在内.
我在eclipse正则表达式中检查了它,因为正则表达式匹配的字符串数组
([A-Za-z ]+)$\n工作,而不是相反([A-Za-z ]+\n)$
Roh*_*ain 16
需要注意的是^和$是zero-width令牌.所以,他们不匹配任何角色,而是匹配a position.
^ 匹配字符串中第一个字符之前的位置.$匹配newline字符串中第一个位置之前的位置.所以,String之前的意思$当然不包括newline,这就是为什么([A-Za-z ]+\n)$你的正则表达式失败了,并且([A-Za-z ]+)$\n成功了.
简单来说,你$应该跟a newline,而不是其他角色.