java - 修改java预先存在的正则表达式以允许一个新字符的最佳方法
问题描述
有这个预先存在的正则表达式,在一种情况下应该允许多一个字符:
String regex = "^[a-zA-Z0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF \\-&*()_+|~=`{}\\[\\]:\";'<>?,.]{0,900}$";
if (condition is true) {
regex = regex .substring(0, 47) + "/" + regex.substring(47,
regex.length());
}
解决方案
最好的方法可能是分别定义它们,然后根据您的 if 条件使用它们。
String regex1 = "^[a-zA-Z0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF \\-&*()_+|~=`{}\\[\\]:\";'<>?,.]{0,900}$";
String regex2 = "^[a-zA-Z0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF \\-&*()_+|~=`{}\\[\\]:\";'<>?,/.]{0,900}$";
String currentRegex;
if (condition is true) {
currentRegex = regex2;
} else {
currentRegex = regex1;
}
推荐阅读
- ios - App Tracking Transparency 隐私复选框和应用商店发布拒绝
- flutter - 如何在空安全更新后在飞镖中获取整数输入,而不使用 if 块来验证变量是否为空?
- appdynamics - 如何在 AppDynamics 中的饼图中获取总值
- flutter - Flutter:使用“lib/main.dart”以外的文件构建 Web 应用程序
- flutter - flutter_bloc - 为什么在 UI 而不是后端声明存储库?
- android - 为什么我需要添加“android:theme="@style/Theme.MaterialComponents" 行才能让我的 FloatingActionButton 工作?
- javascript - 正则表达式替换日期和时间
- typescript - Typescript 允许用户添加其他属性
- mysql - 使用 MySQL 在具有关系的多个日历中查找可用性
- linux - 使用 awk 命令替换井号