- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
This is an experimental new feature for StackOverlow: exercising your regex muscles by solving various classical problems. There is no one right answer, and in fact we should collect as many right answers as possible, as long as they offer educational value. All flavors accepted, but please document it clearly. As much as practical, provide testcases/snippets to demonstrate that the pattern "works".
如何使用正则表达式确定数字 x 是否为阶乘?
奖励:如果模式可以确定x = n!,它也可以找到n吗?
最佳答案
Java,具有无限长度的lookbehind和嵌套引用(see also on ideone.com):
import java.util.regex.*;
class Factorial {
static String assertPrefix(String pattern) {
return "(?<=(?=^pattern).*)".replace("pattern", pattern);
}
public static void main(String[] args) {
final Pattern FACTORIAL = Pattern.compile(
"(?x) (?: inc stepUp)+"
.replace("inc", "(?=(^|\\1 .))")
// 1
.replace("stepUp", "(?: ^. | (?<=(^.*)) (?=(.*)) (?: notThereYet \\2)+ exactlyThere )")
// 2 3
.replace("notThereYet", "(?: (?=((?=\\3) . | \\4 .)) (?=\\1(.*)) (?=\\4\\5) )")
// 4 5
.replace("exactlyThere", "measure4 measure1")
.replace("measure4", assertPrefix("\\4(.*)"))
.replace("measure1", assertPrefix("\\1\\6"))
);
for (int n = 0; n < 1000; n++) {
Matcher m = FACTORIAL.matcher(new String(new char[n]));
if (m.matches()) {
System.out.printf("%3s = %s!%n", n, m.group(1).length() + 1);
}
}
}
}
关于正则锻炼: factorials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3748106/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
好吧,所以我目前正在学习继承,我做了一些事情,这是代码: class array { int [] arr; public array(int[] arr) {
我正在通过 Exercism.IO 学习 Python,我目前正在处理 Bob 问题,问题的对象如下: Bob is a lackadaisical teenager. In conversation
我构建了一个应用程序,可以从保存在服务器上的 healthkit(来自外部来源)收集锻炼数据,以便其他用户可以在提要中查看锻炼数据。我最初将查询设置为在应用程序打开时处理,但后来意识到数据库仅在用户打
尝试完成此 Exercism javascript 测试,但未按我的预期工作。 我对 switch 语句很陌生,所以这里可能会出错,也许使用数组是不必要的。无论哪种方式,我的最终 rnaString.
为了让我的健身应用程序的用户在 iPhone 上使用我们的应用程序时也能记录他们的心率,最好自动启动我们的 AppleWatch 应用程序并从那里检索用户的心率。这有可能吗?我很确定我曾经找到过一个
我是一名优秀的程序员,十分优秀!