遵循正则表达式确实可以在HTML中正常工作,例如以下示例:
#include <vector>
#include <iostream>
int main() {
std::vector<int> *v = new std::vector<int>[5];
v[0].push_back(1);
v[0].push_back(2);
v[0].push_back(3);
v[0].push_back(4);
v[3].push_back(31);
v[3].push_back(32);
std::cout << v[0][1] << '\n';
std::cout << v[0][2] << '\n';
std::cout << v[3][1] << '\n';
std::cout << v[4].size() << '\n';
delete[] v;
return 0;
}
但是,如果我想将该模式放入FormGroup中,则无法识别验证器:
2
3
32
0
我尝试将其放入字符串中,以除去<input type="text" formControlName="mgmtIP" class="input-text" pattern="([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])">
和mgmtIP: [host.mgmtIP, [
Validators.required,
Validators.pattern(/^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$/)
]],
。那也不行
答案 0 :(得分:0)
好的,我找到了这个问题的答案。我当时很愚蠢: 我在表单数组中有一个带有验证器的初始表单。然后,我在其中推送了一些新的表单组,这些表单组未配置这些验证器。无论如何,谢谢您的帮助!
答案 1 :(得分:-1)
个人而言,我不会为此使用正则表达式,因为它会混淆代码且难以调试(您现在已经知道了)。检查IP有效性的更简单方法是:
.
我并不是说正则表达式不适合这样做,但出于可维护性的考虑,我不会这样做(或使用经过良好测试的正则表达式)。