很长一段时间以来,每当我需要使用正则表达式时,我都会标准化使用版权符号©
作为分隔符,因为它是一个不在键盘上的符号,我肯定不会在正则表达式,不像!@ # \ 或 / (有时都在正则表达式中使用)。
代码:
$result=preg_match('©<.*?>©', '<something string>');
但是,今天我需要使用带有重音字符的正则表达式,其中包括:
代码:
[a-zA-ZàáâäãåąćęèéêëìíîïłńòóôöõøùúûüÿýżźñçčšžÀÁÂÄÃÅĄĆĘÈÉÊËÌÍÎÏŁŃÒÓÔÖÕØÙÚÛÜŸÝŻŹÑßÇŒÆČŠŽ∂ð \,\.\'-]+
在我的 IDE (Eclipse PDT) 的 PHP 文件中包含这个新的正则表达式后,系统提示我将 PHP 文件保存为 UTF-8 而不是默认的 cp1252。
保存并运行 PHP 文件后,每次我在 preg_match() 或 preg_replace() 函数调用中使用正则表达式时,它都会生成一个通用 PHP 警告(警告:第 x 行的 file.php 中的 preg_match),并且未处理正则表达式.
所以——两个问题:
1)是否有另一个符号可以很好地用作通常在键盘(`~!@#$%^&*()+=[]{};\':",./<>?|\
)上找不到的分隔符,我可以对其进行标准化,而不必担心必须检查每个正则表达式以查看该符号是否实际使用在表达式的某个地方?
2) 或者,当文件格式为 UTF-8 时,是否可以使用版权符号作为标准分隔符?