相关疑难解决方法(0)

我如何验证正则表达式?

我想在PHP中测试正则表达式的有效性,最好在它使用之前.这样做的唯一方法是尝试preg_match()并查看它是否返回FALSE

有没有更简单/正确的方法来测试有效的正则表达式?

php regex

65
推荐指数
4
解决办法
3万
查看次数

如何检查字符串是一个有效的正则表达式 - python?

在Java中,我可以使用以下函数来检查字符串是否是有效的正则表达式:(来源:如何检查字符串是否是正则表达式)

boolean isRegex;
try {
  Pattern.compile(input);
  isRegex = true;
} catch (PatternSyntaxException e) {
  isRegex = false;
}
Run Code Online (Sandbox Code Playgroud)

是否有一个python相当于Pattern.compile()PatternSyntaxException?如果是这样,它是什么?

python regex string validation

36
推荐指数
1
解决办法
3万
查看次数

测试字符串是否是正则表达式

如果字符串是PHP中的正则表达式或普通字符串,是否有一种好的测试方法?

理想情况下,我想编写一个函数来运行字符串,返回true或false.

我看了看preg_last_error():

<?php
preg_match('/[a-z]/', 'test');
var_dump(preg_last_error());
preg_match('invalid regex', 'test');
var_dump(preg_last_error());
?>
Run Code Online (Sandbox Code Playgroud)

显然,第一个不是错误,第二个是错误.但两次preg_last_error()返回int 0.

有任何想法吗?

php regex preg-match

19
推荐指数
4
解决办法
2万
查看次数

为什么递归正则表达式不是正则表达式?

我正在阅读这个问题中的一些回答,并看到有些人说递归正则表达式并不严格地讲正则表达式.

为什么是这样?

regex recursion pcre

9
推荐指数
3
解决办法
3923
查看次数

正则表达式的正则表达式?

可能重复:
是否有正则表达式来检测有效的正则表达式?
正则表达式用于查找正则表达式?

我有一个应用程序,使用户能够输入正则表达式.如何检查正则表达式的任何输入并确保它们是有效的,因为如果它们不存在则会出现preg_match错误?

我不想在preg_match之前使用'@',所以如果有办法检查正则表达式的用户输入的有效性,那就太好了.

PHP的正则表达式系统对我来说似乎太复杂了,无法为它们提供正则表达式.

php regex

9
推荐指数
3
解决办法
3098
查看次数

正则表达式用于查找正则表达式?

有没有人有代码来查找包含正则表达式的文件?我想你可以有两种不同的口味,一种用于BRE,一种用于ERE.

你会认为某种测试套件会有像isRegex()测试那样的东西.任何人都可以有任何代码?当然,寻找一些全面的东西.

我看到这里讨论了这个,但没有看到任何实际的回应.如果我想grep任何包含正则表达式的文件,可能是以典型的//为界,我该怎么做?

regex grep

8
推荐指数
1
解决办法
910
查看次数

正则表达式本身可以用正则表达式解析吗?

我正在阅读正则表达式解析器的代码,并开始怀疑正则表达式的语法本身是否是常规的,并且可以用另一个(非常复杂的)正则表达式表达?

rere = "" # the regular expression of regular language
match1 = re.match(rere, "[a-z]+@[a-z]+.com") # True
match2 = re.match(rere, ")az[") # False 
Run Code Online (Sandbox Code Playgroud)

我没有在正则表达式语法中看到任何递归结构,所以我想也许这是可行的?

如果是,表达式是什么样的?如果没有,为什么?

regex parsing regular-language

8
推荐指数
1
解决办法
244
查看次数

可以用该语言编写编程语言的第二个实现吗?

这个问题是我最近一直在思考的问题.编程语言可以用该语言编写,作为第二种实现吗?例如Java.是否可以使用java编程语言重写java编程语言?

抱歉,如果这是一个愚蠢的问题,但我需要知道!

GF

java programming-languages

7
推荐指数
4
解决办法
740
查看次数

如何使用PHP验证正则表达式

我希望能够验证用户输入的正则表达式,以检查它是否有效.我发现PHP的第一件事是filter_var使用FILTER_VALIDATE_REGEXP常量,但这并不是我想要的,因为它必须将正则表达式传递给选项,但我不是正则对抗任何东西,所以基本上它只是检查正则表达式的有效性.

但是你明白了,如何验证用户输入的正则表达式(与之匹配).

验证的例子,简单来说:

$user_inputted_regex = $_POST['regex']; // e.g. /([a-z]+)\..*([0-9]{2})/i

if(is_valid_regex($user_inputted_regex))
{
    // The regex was valid
}
else
{
    // The regex was invalid
}
Run Code Online (Sandbox Code Playgroud)

验证示例:

/[[0-9]/i              // invalid
//(.*)/                // invalid
/(.*)-(.*)-(.*)/       // valid
/([a-z]+)-([0-9_]+)/i  // valid
Run Code Online (Sandbox Code Playgroud)

php regex validation

7
推荐指数
1
解决办法
356
查看次数

Javascript正则表达式匹配正则表达式

我正在研究一个特殊的正则表达式来匹配一个javascript正则表达式.

现在我有这个正则表达式工作:

/\/(.*)?\/([i|g|m]+)?/
Run Code Online (Sandbox Code Playgroud)

例如:

'/^foo/'.match(/\/(.*)?\/([i|g|m]+)?/) => ["/^foo/", "^foo", undefined]
'/^foo/i'.match(/\/(.*)?\/([i|g|m]+)?/) => ["/^foo/i", "^foo", "i"]
Run Code Online (Sandbox Code Playgroud)

现在我需要使用这个正则表达式:

'^foo'.match(/\/(.*)?\/([i|g|m]+)?/) => ["^foo", "^foo", undefined]
Run Code Online (Sandbox Code Playgroud)

不幸的是,我以前的正则表达式不适用于那个.

有人可以帮我找到匹配这个例子的正则表达式(以及其他人):

'^foo'.match([a regex]) => ["^foo", "^foo", undefined]
Run Code Online (Sandbox Code Playgroud)

javascript regex

7
推荐指数
1
解决办法
3192
查看次数