我正在从头开始构建一个JSON验证器,但我完全坚持使用字符串部分.我希望构建一个与JSON.org上的以下序列相匹配的正则表达式:
到目前为止我的正则表达式是:
/^\"((?=\\)\\(\"|\/|\\|b|f|n|r|t|u[0-9a-f]{4}))*\"$/
Run Code Online (Sandbox Code Playgroud)
它的标准与字符和空字符串后面的反斜杠相匹配.但我不确定如何使用UNICODE部分.
是否有正则表达式匹配任何UNICODE角色专家"或\或控制字符?它会匹配换行符或水平制表符吗?
最后一个问题是因为正则表达式匹配字符串"\ t",而不是""(四个空格,但想法是一个标签).否则我将需要用它来扩展正则表达式,这不是问题,但我的猜测是水平制表符是UNICODE字符.
感谢Jaeger Kor,我现在有以下正则表达式:
/^\"((?=\\)\\(\"|\/|\\|b|f|n|r|t|u[0-9a-f]{4})|[^\\"]*)*\"$/
Run Code Online (Sandbox Code Playgroud)
它似乎是正确的,但是有没有办法检查控制字符,或者这是不必要的,因为它们出现在regular-expressions.info上的不可打印的字符上?要验证的输入始终是textarea中的文本.
更新:如果有人需要,正则表达式如下:
/^("(((?=\\)\\(["\\\/bfnrt]|u[0-9a-fA-F]{4}))|[^"\\\0-\x1F\x7F]+)*")$/
Run Code Online (Sandbox Code Playgroud) 在运行一个PHP脚本时.该脚本将在脚本中的某个位置调用另一个脚本.这两个脚本需要同时运行,所以我不能在这里使用include或require.脚本将使用终端调用,如下所示:
exec( '/usr/bin/php ../process.php >> logs/' . date( 'Y_m_d' ) . '.log 2>&1 &' );
Run Code Online (Sandbox Code Playgroud)
这里的一个大问题是我想要处理6种不同的东西,但它们都将使用完全相同的代码.唯一的区别是它们将被处理的目录.
现在的问题是:在传递一个或多个变量时是否有一种简单的方法来运行第二个脚本?
我尝试了类似的东西../process?var=something,但这显然不会这样.