小编Ada*_*zek的帖子

正则表达式用逗号分隔,不在括号内 (.NET)

我需要按不在括号之间的每个逗号分割文本(sql 查询)。

示例(我标记了应包含在拆分中的逗号):

a."Id",                //<- this comma
a."Description",       //<- this comma
UJsonObject(
   fepv."Id",          //<- NOT this comma
   fepv."SystemName",  //<- NOT this comma
   string_agg(
        translations."Translations", ',' //<- NOT this comma (here can be some nested parenthesis also)
   ) as "Translations"
) as "Translations",   //<- this comma
b."DataSource",        //<- this comma
a."Name",              //<- this comma
a."Value"
Run Code Online (Sandbox Code Playgroud)

我在这里找到了通用解决方案:https://regex101.com/r/6lQKjP/2,但似乎该解决方案在 dotnet 中不起作用。

我想使用Regex.Split,但如果Regex.Matches能够满足这种情况我也会很高兴。我也知道我可以编写自己的解析器,但我读到简单的情况(不提取嵌套括号)可以通过正则表达式处理。

.net regex

3
推荐指数
1
解决办法
582
查看次数

检查按键上的正则表达式

我想创建自己的插件(不使用任何外部库 - 用于学习目的)来验证用户在正则表达式测试函数中动态键入的文本。

在示例中我有正则表达式模式:

^.{2}$

和 JavaScript 函数

$('#textbox').bind("keypress", function (event) {
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
    if (!regex.test(key)) {
        event.preventDefault();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

现在,我想在文本框中输入两个点,但是在第一次按键被触发后,一个点与模式不匹配,并且没有任何反应,因为事件被阻止。

我的问题:是否可以检查当前输入的文本是否与正则表达式模式匹配?

javascript regex jquery

2
推荐指数
1
解决办法
3万
查看次数

Xamarin.Forms:如何下载图像,将其保存在本地并在屏幕上显示?

我在 Android 上的本机应用程序中打开 JPG 文件时遇到问题。我正在使用最新版本的 Xamarin Essentials,有一些名为 Launcher 的功能。这是我的代码

await Launcher.TryOpenAsync("file:///" + localPath);
Run Code Online (Sandbox Code Playgroud)

我的本地路径是存储在Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);.

每当我尝试打开该文件时,都会出现错误:

file:////data/user/0/mypackagename/files/.local/share/Screenshot.jpg exposed beyond app through Intent.getData()
Run Code Online (Sandbox Code Playgroud)

我在 stackoverflow 上找到了几个解决方案,但我不想使用 Intent,因为我的应用程序被设计为跨平台的(如果可能的话,我想避免原生平台编码)。

Launcher 在 iOS 上也抛出错误:

canOpenURL: failed for URL: ** -- file:///" - error: "This app is not allowed to query for scheme file
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

c# xamarin xamarin.forms xamarin.essentials

2
推荐指数
1
解决办法
7081
查看次数

支持https的http侦听器以c#编码

我找到了很多答案如何将httplistener设置为使用HTTPS,但每个解决方案都需要使用命令行.我想这是最快的方法,但我想编写C#类来处理这个问题.

在旧的解决方案中,我使用了webserver类(在Internet的某个地方找到,我不记得确切的名称),它允许以这种方式添加证书:

webserver.Certificate = new X509Certificate2("MyCert.pfx", "MyPassword");
Run Code Online (Sandbox Code Playgroud)

有没有办法用httplistener实现这个?从代码显然.

问候.

c# https certificate httplistener

0
推荐指数
1
解决办法
1979
查看次数

从SendPingAsync结果中检索ping主机名

我正在从字符串(地址)列表中ping主机.一切都很完美,但是当主机无法访问时,ping返回Result.Address:"0.0.0.0"而不是我传入SendPingAsync函数的现有地址或主机名.这是我的代码:

            var pingTasks = addresses.Select(address =>
            {
                return new Ping().SendPingAsync(address);
            });

            await Task.WhenAll(pingTasks);

            StringBuilder pingResultBuilder = new StringBuilder();

            foreach (var pingReply in pingTasks)
            {
                pingResultBuilder.Append(pingReply.Result.Address);
                pingResultBuilder.Append("    ");

                pingResultBuilder.Append(pingReply.Result.Status);
                pingResultBuilder.Append("    ");

                pingResultBuilder.Append(pingReply.Result.RoundtripTime.ToString());
                pingResultBuilder.AppendLine();
            }

            Console.WriteLine(pingResultBuilder.ToString());
Run Code Online (Sandbox Code Playgroud)

我在这里找到了解决方案,但我需要在SendPingAsync功能上做同样的事情而不是SendAsync.我怎样才能找回通过host name / ip address从pingReply.Result?

c# dns ping

0
推荐指数
1
解决办法
1612
查看次数