多个0.1-9.9 的正则表达式
时间: 2023-03-10 08:03:23 浏览: 69
正则表达式可以用来描述或者匹配一系列符合某个句法规则的字符串。它的语法是由一些特定的字符组成的,可以表示一组字符串。例如,可以用[0-9]表示任何一位数字,[0-9.]表示任何一位数字或者小数点,[0-9.][0-9]表示任何一个两位数的数字,[0.1-9.9]表示从0.1到9.9的任意小数。
相关问题
用一个正则表达式匹配[10.9.9.9]:5485或者10.9.9.9:5488
可以使用下面的正则表达式来匹配你提供的两种IP地址格式:
```
(?:\[)?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?:\])?:\d+
```
这个正则表达式的含义是:
- `(?:\[)?` 表示可选的左括号 `[`,使用 `(?:` 表示只匹配不捕获。
- `(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})` 表示匹配 IP 地址的四个数字段。
- `(?:\])?` 表示可选的右括号 `]`,同样使用 `(?:` 表示只匹配不捕获。
- `:\d+` 表示匹配端口号,即冒号 `:` 后面的数字。
将上面的正则表达式用于代码中,可以这样写:
```
import re
pattern = r'(?:\[)?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?:\])?:\d+'
text1 = '[10.9.9.9]:5485'
text2 = '10.9.9.9:5488'
match1 = re.match(pattern, text1)
match2 = re.match(pattern, text2)
if match1:
print(f'匹配成功: {match1.group()}')
else:
print('匹配失败')
if match2:
print(f'匹配成功: {match2.group()}')
else:
print('匹配失败')
```
输出结果为:
```
匹配成功: [10.9.9.9]:5485
匹配成功: 10.9.9.9:5488
```
1个接键控制2位七段LED显示入0.0-9.9通过
使用 Arduino 开发板,可以通过以下代码实现:
int digitPins[] = {2, 3, 4, 5}; // 数码管的位选引脚
int segmentPins[] = {6, 7, 8, 9, 10, 11, 12}; // 数码管的段选引脚
int buttonPin = A0; // 接键的引脚
float value = 0.0; // 显示的数值
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(digitPins[i], OUTPUT);
}
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
pinMode(buttonPin, INPUT);
}
void loop() {
if (digitalRead(buttonPin) == HIGH) {
value += 0.1;
if (value > 9.9) {
value = 0.0;
}
}
int integerPart = (int)value;
int decimalPart = (int)((value - integerPart) * 10);
displayNumber(integerPart, decimalPart);
}
void displayNumber(int integerPart, int decimalPart) {
int digitCodes[] = {
B00111111, // 0
B00000110, // 1
B01011011, // 2
B01001111, // 3
B01100110, // 4
B01101101, // 5
B01111101, // 6
B00000111, // 7
B01111111, // 8
B01101111 // 9
};
int digitValues[] = {integerPart / 10, integerPart % 10, decimalPart};
for (int i = 0; i < 4; i++) {
digitalWrite(digitPins[i], LOW);
for (int j = 0; j < 7; j++) {
digitalWrite(segmentPins[j], bitRead(digitCodes[digitValues[i]], j));
}
delay(1);
digitalWrite(digitPins[i], HIGH);
}
}