【发布时间】:2015-02-20 23:11:10
【问题描述】:
我不太擅长正则表达式,似乎找不到答案
我正在编写一个类文件来检查数据类型并“部分/最好地清理”任何提交的数据以及执行一些其他功能。这适用于所有数据类型(即电子邮件、url 的电话号码、int/signed/un-signed、单词、密码、各种日期格式、基本 HTML 等)
我在尝试匹配“任何东西”时遇到问题*(这是我真正不需要检查的一种数据类型,但为了保持一致性,我需要它运行 preg_match,但总是希望它返回 true) .
- 当我说“任何内容”时,我希望它匹配任何文本、数字、符号和换行符。这是我遇到问题的换行符
我正在使用:
define('REG_TEXT', '/^(.*)$/');
preg_match(REG_TEXT, $data)
这在第一段上运行良好,但不会匹配任何线喙,因此返回 false
我希望它匹配(返回 true)的一个示例是:
this is a test match on anything 345 +_)(*&^%$£"!<br><html> <?php echo this i PHP; ?>
and match this too on a new line
and match all this line too
and anything else at all
我现在并不担心任何代码输入到数据中,因为我班的其他领域正在处理这个问题(在这个阶段之前!)。
基本上,我在使用一个正则表达式,它绝对匹配/返回 true。 (我不想更改为 preg_match_all,因为这会破坏类的其他方面,或者需要我添加额外的代码,这些代码将部分重复我认为不需要的代码)
欢迎任何建议!
谢谢 乔恩
【问题讨论】:
-
应该总是匹配?如果您不需要匹配项,
preg_match('//', $data)呢:) -
@Jonny5 确实有效的剂量...我一直在使用 regex101,它在那里什么也没做,但从未在 php 中尝试过 :-( 谢谢
-
是的try it in php :)
-
@Jonny5 是的,我知道总是匹配似乎很愚蠢,但这只是为了保持一致性并节省编写单独的函数,我不需要检查数据类型(其他数据类型当然需要匹配)
-
@Jonny5 你是对的(虽然你知道这一点)它在 php 中工作......为什么我不只是尝试这个...... regex101 说它不匹配任何东西:-(跨度>
标签: php regex preg-match