哪些字符使网址无效?
这些有效的网址是?
example.com/file[/].htmlhttp://example.com/file[/].html服务器接收来自两个客户端的请求 - Raspberry Pi和Android应用程序,两者都使用HttpURLConnection发送请求.我需要通过theese请求传递参数,例如:
http://192.168.0.10:8080/MyProject/MyServer/rpi/checktask?rpi="rpi"
Run Code Online (Sandbox Code Playgroud)
这样做:
String requestUrl = "http://192.168.0.10:8080/MyProject/MyServer/rpi";
String query = String.format("/checktask?rpi=%s",
URLEncoder.encode("rpi", "UTF-8"));
URL url = new URL(requestUrl + query);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setRequestProperty("Accept-Charset", "UTF-8");
conn.connect();
Run Code Online (Sandbox Code Playgroud)
Servlet有注释:
@WebServlet(name = "MyServer", urlPatterns = { "/MyServer/rpi/*", "/MyServer/app/*"})
Run Code Online (Sandbox Code Playgroud)
但是当Servlet获得上述请求时,会发生以下情况:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String path = request.getRequestURI(); // /MyProject/MyServer/rpi/*
String query = request.getQueryString(); // null
String context = request.getContextPath(); // /MyProject
String servlet = request.getServletPath(); // /MyServer/rpi
String info = request.getPathInfo(); …Run Code Online (Sandbox Code Playgroud) 对于这个 php 脚本,
$dom = new DOMDocument();
$dom->substituteEntities =FALSE;
$dom->loadHTML('<a href="$a?">$a</a>');
// print_r ($dom->getElementsByTagName("a")->item(0)->getAttribute("href"));
Run Code Online (Sandbox Code Playgroud)
//上面的语句显示$a? 正确地
echo $dom->saveHTML();
Run Code Online (Sandbox Code Playgroud)
但当调用 saveHTML 方法时,它会将 <a href="%24a">$a</a> 返回到浏览器。href 属性中的 $ 变为 %24,而 a 标签内容中的 $ 保持不变。
我预计输出是 <a href="$a">$a</a> 除了替换方法之外还有什么方法可以做到这一点?
顺便一提,
echo $dom->saveXML();
Run Code Online (Sandbox Code Playgroud)
我用 saveXML() 得到了我想要的;但加上一个意想不到的 <!--xml...... 谢谢
我有一个正则表列表,我想从中提取那些相当于字符串比较的正则表达式.
例如,那些正则表达式相当于一个简单的字符串比较:
[r"example", # No metacharacters
r"foo\.bar"] # . is not a metacharacter because it is escaped
Run Code Online (Sandbox Code Playgroud)
而那些正则表达式不是:
[r"e.ample", # . is a metacharacter
r"foo\\.bar"] # . is a metacharacter because it is not escaped
Run Code Online (Sandbox Code Playgroud)
根据https://docs.python.org/2/howto/regex.html,有效元字符列表是. ^ $ * + ? { } [ ] \ | ( ).
我即将构建一个正则表达式,但它看起来有点复杂.我想通过检查re对象或其他东西是否有快捷方式.
当我使用像这样的正常值时a=10
我能够让 sed 查找/替换工作
sed -e "s/xxx/$a/g" a.txt
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用像这样的变量时a=http://xyz.com
sed -e "s/xxx/$a/g" a.txt不管用...
它抛出未知选项错误,我认为这是由于变量上存在的转义字符造成的