/<svg([^>].*?)>/ 这两个匹配规则有什么区别吗
时间: 2024-04-18 17:30:46 浏览: 16
这两个匹配规则之间有一个微小的区别。让我们一起来看看:
1. `<svg([^>+].*?)>`: 这个规则以 `<svg` 开头,并且后面跟着一个不是 `>` 或 `+` 字符的任意字符,然后用 `.*?` 匹配剩余的字符。这个规则排除了以 `+` 字符开头的属性。
2. `<svg([^>].*?)>`: 这个规则也以 `<svg` 开头,并且后面跟着一个不是 `>` 字符的任意字符,然后用 `.*?` 匹配剩余的字符。这个规则排除了以 `>` 字符开头的属性。
简而言之,这两个规则都旨在匹配以 `<svg` 开头并且后面包含一些属性的字符串,但第一个规则还会额外排除以 `+` 字符开头的属性。
相关问题
/<svg([^>+].*?)>/ 正则要改变什么内容
正则表达式 "/<svg([^>+].*?)>/" 匹配的是以 "<svg" 开头,后面跟着任意非 ">" 和 "+" 字符的内容,再以 ">" 结尾的字符串。如果你想改变这个正则表达式的内容,可以根据你的需求做出相应的修改。
以下是一些可能的修改方案:
1. 修改 "<svg" 部分:可以替换为其他标签名或者其他需要匹配的字符串。
2. 修改 "[^>+]" 部分:可以改为其他字符集或者添加更多字符,来限制需要匹配的字符范围。
3. 修改 ".*?" 部分:可以改为其他匹配规则,比如限制最大匹配长度或者使用其他限定符。
4. 修改 ">" 部分:可以改为其他字符或者添加更多字符,来限制匹配的结束标记。
请注意,在修改正则表达式时,需要确保修改后的表达式仍然能够正确匹配到你所需要的内容,并且符合你的预期结果。
将这段C#代码翻译成Java public interface I_SvgCommAtt { /// <summary> /// Id /// </summary> string Id { get; set; } /// <summary> /// 旋转角度 /// </summary> int Rotate { get; set; } /// <summary> /// 旋转中心 /// </summary> System.Drawing.Point RotatePoint { get; set; } /// <summary> /// 线宽 /// </summary> int LineSize { get; set; } /// <summary> /// 线透明度 0透明~255不透明 /// </summary> byte LineOpacity { get; set; } /// <summary> /// 线颜色 /// </summary> System.Drawing.Color LineColor { get; set; } /// <summary> /// 填充颜色 /// </summary> System.Drawing.Color FillColor { get; set; } /// <summary> /// 填充透明度 0透明~255不透明 /// </summary> byte FillOpacity { get; set; } /// <summary> /// 图案填充 /// </summary> Svg_Def.Pattern FillStyle { get; set; } }
public interface I_SvgCommAtt {
// Id
String getId();
void setId(String id);
// 旋转角度
int getRotate();
void setRotate(int rotate);
// 旋转中心
Point getRotatePoint();
void setRotatePoint(Point rotatePoint);
// 线宽
int getLineSize();
void setLineSize(int lineSize);
// 线透明度 0透明~255不透明
byte getLineOpacity();
void setLineOpacity(byte lineOpacity);
// 线颜色
Color getLineColor();
void setLineColor(Color lineColor);
// 填充颜色
Color getFillColor();
void setFillColor(Color fillColor);
// 填充透明度 0透明~255不透明
byte getFillOpacity();
void setFillOpacity(byte fillOpacity);
// 图案填充
Svg_Def.Pattern getFillStyle();
void setFillStyle(Svg_Def.Pattern fillStyle);
}
请注意,Java中的Color和Point类与C#中的System.Drawing.Color和System.Drawing.Point类不完全相同,因此可能需要对其他部分进行适当修改。