我对正则表达式和 JavaScript 很陌生。
我需要一个正则表达式来仅验证字母数字字符和句号 (.)、逗号 (,)、冒号 (:) 和分号 (;)。
我想对字母数字值进行排序,就好像我的输入是
[a1, b1, c1, aa1, bb1, cc1, d1, e1]
Run Code Online (Sandbox Code Playgroud)
输出应按此顺序- a1,b1,c1,d1,e1,aa1,bb1,cc1
我用过这个代码
public class coll {
public static int comparator(String s1, String s2) {
String[] pt1 = s1.split("((?<=[a-z])(?=[0-9]))|((?<=[0-9])(?=[a-z]))");
String[] pt2 = s2.split("((?<=[a-z])(?=[0-9]))|((?<=[0-9])(?=[a-z]))");
//pt1 and pt2 arrays will have the string split in alphabets and numbers
int i=0;
if(Arrays.equals(pt1, pt2))
return 0;
else{
for(i=0;i<Math.min(pt1.length, pt2.length);i++)
if(!pt1[i].equals(pt2[i])) {
if(!isNumber(pt1[i],pt2[i])) {
if(pt1[i].compareTo(pt2[i])>0)
return 1;
else
return -1;
}
else {
int nu1 = Integer.parseInt(pt1[i]);
int nu2 = Integer.parseInt(pt2[i]);
if(nu1>nu2)
return 1;
else
return …Run Code Online (Sandbox Code Playgroud) 我是android编码实践的新手
ABB20180001
假设这是我的第一个ID,我希望使用共享的首选项将此值自动递增1并用作员工ID。如ABB20180002,ABB20180003,ABB20180004等。
我需要实现字母数字增量算法,如 AAA001 应该变成 AAA002 AAA999 应该变成 AAB000 等等。
所有字母均为大写,字母为 0-9。它可以在字母数字字符串的任何位置包含字母或字母。
但是有一些规则,比如一些 000 或 666 不应该出现在一个系列中。这可以稍后完成,但我需要基本逻辑来实现算法。
我看到很多人没有理解我的问题。想象一下车辆的车牌号,它只是一个字母数字系列,可以包含一些排除的字符,例如 BB6660 -> 666,中间不允许出现三重 6。
它应该支持不同的格式,例如-
@@@##
@#@@##
1@#@@##
@@@@####
##@@#@
@ means alphabet A-Z
# means numbers 0-9
Run Code Online (Sandbox Code Playgroud)
例子:
AFG99 + 1= AFH00
A2GF23 + 1 = A2GF24
1A9AU99 + 1 = 1A9AV00
AAZZ9999 + 1 = ABAA0000
11AA9Z + 1 = 11AB0A
Run Code Online (Sandbox Code Playgroud)
我需要某种数学解决方案,以便我可以在不使用字符增量的情况下进行数学运算并轻松增加它。
我还需要两个范围之间的计数,例如 AAA003 和 AA010 之间有多少计数?
AAA010 - AAA003 = 7
Run Code Online (Sandbox Code Playgroud)
我会很感激的帮助..