java语言 写出符合https://www.facebook.com/profile.php?id=100026920660696 以及https://www.facebook.com/abc格式的正则 表达式
时间: 2023-10-07 21:04:32 浏览: 90
符合Facebook个人主页链接格式的Java正则表达式如下:
```java
String regex1 = "^https?://(?:www\\.)?facebook\\.com/profile\\.php\\?id=\\d+$";
String regex2 = "^https?://(?:www\\.)?facebook\\.com/\\w+$";
```
解释一下:
- `^` 表示字符串的开头
- `https?://` 表示匹配 `http://` 或 `https://`
- `(?:www\\.)?` 表示可选的 `www.` 子域名
- `facebook\\.com/profile\\.php\\?id=` 表示固定的域名和路径,以及查询参数 `id=`
- `\\d+` 表示一个或多个数字,即用户ID(用于第一个链接)
- `facebook\\.com/` 表示固定的域名和路径
- `\\w+` 表示一个或多个单词字符,即用户名(用于第二个链接)
- `$` 表示字符串的结尾
注意,第一个链接的正则表达式假设用户ID只包含数字。如果需要支持其他字符,可以修改 `\d` 部分。
相关问题
java代码将facebook https://www.facebook.com/profile.php?id=100026920660696&name=jack转换成https://www.facebook.com/profile.php?id=100026920660696
以下是Java代码将Facebook链接中的 `name` 参数移除:
```java
import java.net.URI;
import java.net.URISyntaxException;
public class FacebookLink {
public static void main(String[] args) {
String facebookLink = "https://www.facebook.com/profile.php?id=100026920660696&name=jack";
try {
URI uri = new URI(facebookLink);
String query = uri.getQuery();
query = query.replaceAll("&name=[^&]*", "");
uri = new URI(uri.getScheme(), uri.getAuthority(), uri.getPath(), query, null);
String newLink = uri.toString();
System.out.println(newLink);
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用 Java 内置的 `URI` 类来解析 Facebook 链接。然后,我们使用 `String` 类的 `replaceAll()` 方法来移除链接中的 `name` 参数。最后,我们使用 `URI` 类的构造方法来创建新的链接并输出它。
ava代码将facebook https://www.facebook.com/profile.php?id=100026920660696&name=jack&age=28解析成域名和id
以下是Java代码将Facebook链接解析成域名和id:
```java
import java.net.URI;
import java.net.URISyntaxException;
public class FacebookLink {
public static void main(String[] args) {
String facebookLink = "https://www.facebook.com/profile.php?id=100026920660696&name=jack&age=28";
try {
URI uri = new URI(facebookLink);
String host = uri.getHost();
String[] path = uri.getPath().split("/");
String id = "";
for (String p : path) {
if (p.startsWith("id=")) {
id = p.substring(3);
break;
}
}
System.out.println("域名:" + host);
System.out.println("id:" + id);
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用 Java 内置的 `URI` 类来解析 Facebook 链接。然后,我们使用 `getHost()` 方法获取链接的域名。接着,我们使用 `getPath()` 方法获取链接的路径,再使用 `split()` 方法将路径拆分成数组。最后,我们遍历路径数组,找到以 `id=` 开头的元素,提取出其中的id值并输出。
阅读全文